Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Сұрыптау (Сортировка; sorting) - массив элементтерін белгілі бір заңдылықпен орындарын ауыстырып реттеу процессін айтамыз. Мысалы, сандар массивін өсуі, кемуі бойынша сұрыптау, жолдар массивін алфавит бойынша сұрыптау және тағы басқа. Сұрыптау мақсаты - көптеген сұрыпталған обьектінің ішінен белгілі бір элементті іздеуді оңайлату. Ақпараттық жүйелерде мәліметтерді сұрыптаудың маңызы өте зор.
Көпіршікті сұрыптауы (Bubble_sort) және оның ерекшеліктері. Көпіршікті сұрыптау алгоритмдерінің күрделілігі O(n2). Сұрыптаудың жеңіл түрі.
# include <iostream>
using namespace std;
int a[10000];
int main()
{
int n;
cout<<"Vvedite razmer:\n";
cin>>n; //Массив санын енгіземіз
for(int i=0; i<n; ++i)
cin>>a[i];
//Сұрыптаудың негізгі коды:
for(int i=0; i<n; ++i)
for(int j=i+1; j<n; ++j)
if(a[j]<a[i])swap(a[i],a[j]);
//Массивті экранға шығару:
for(int i=0; i<n; ++i)
cout<<a[i]<<" ";
cout<<endl;
}
Адгоритмі:
Мына сандармен массив алайық «5 1 4 2 8» және оларды өсуі бойынша сұрыптайық, әрине ол үшін көпіршік әдісін қолданамыз.
Бірінші жол:
(5 1 4 2 8) (1 5 4 2 8), Мұнда алгоритм бастапқы екі элементті салыстырып, орындарын ауыстыруда.
(1 5 4 2 8) (1 4 5 2 8), Орындарын ауыстыруды, себебі 5 > 4
(1 4 5 2 8) (1 4 2 5 8), Орындарын ауыстыруды, себебі 5 > 2
(1 4 2 5 8) (1 4 2 5 8), Енгді әрбір элемен өз орнында тұрған себебінен (8 > 5), алгоритм алгоритм олардың орнын ауыстырмайды.
Екінші жол:
(1 4 2 5 8) (1 4 2 5 8)
(1 4 2 5 8) (1 2 4 5 8), Орындарын ауыстыруды, себебі 4 > 2
(1 2 4 5 8) (1 2 4 5 8)
Енді алгоритм толықтай сұрыпталды, бірақ программа оған көзі жеткен жоқ. Сол себепті Программа тағы бір толыл жол өткізеді.
Үшінші жол:
(1 2 4 5 8) (1 2 4 5 8)
(1 2 4 5 8) (1 2 4 5 8)
Дата публикования: 2015-07-22; Прочитано: 2568 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!