4. Agar i 5. Natijaviy saralangan massivni ekranga chiqaramiz.
Dastur kodi
#include #include using namespace std; int main(int args, char *argv[]) {
int n; cout<<"talabalar sonini kiriting=";cin>>n; struct table{ int t; char FIO[20]; } talaba[n]; cout< for(int i=0;i talaba[i].t=i+1; cin>>talaba[i].FIO; } int l=0; for(int i=0;i for(int j=n-1;j>i;j--){ if (strcmp(talaba[j-1].FIO,talaba[j].FIO)==1){ l++; table k=talaba[j]; talaba[j]=talaba[j-1]; talaba[j-1]=k; } } } for(int i=0;i cout<<"| "< cout<<"bu algoritm jadvalni "< saraladi\n"; system("PAUSE"); } Dastur natijasi: talabalar sonini kiriting=5 5 ta talabalar FIO sini kiriting Farhod Asror Sobir Bobur Vali
| 2 | Asror | | 4 | Bobur | | 1 | Farhod | | 3 | Sobir | | 5 | Vali | Bu algoritm jadvalni 10 ta solishtirishda saraladi
Shell saralashi (shell sort)
Shel saralashi ( qisqarib boruvchi qadamlar orqali saralash ) to’g’ri qo’shish usulini 1959-yilda D. Shell tomonidan mukammallashtirish taklif qilingan: quyidagi chizmada ushbu usul tasvirlangan.Boshida bir biridan 4 qaddam joylashgan elementlar o’zaro guruhlanib saralash amalga oshiriladi. Bunday jarayon to’rtlik saralash deb ataladi. Birinchi o’tishdan keyin elementlar qayta guruhlanib endi har ikki qadamdagi elementlar taqqoslanadi. Bu esa ikkilik saralash deb nomlanadi va nihoyat uchinchi o’tishda oddiy yoki yakkalik saralash amalga oshiriladi Birqarashda mazkur usul bilan saralash amalga oshirilganda saralash jarayoni kamayish o’rniga ortib boradigandek tuyulsada elementlarini o’rin almashtirishlar nisbatan kam amalga oshiriladi .Ko’rinib turibdiki bu usul natijasida tartiblangan massiv hosil bo’lib har bir o’tishdan keyin saralashlar kamayib boradi. Eng yomon holatda oxirgi ishni yakkalik saralash amalga oshiradi. III. Pufaksimon saralash algoritmi (Bubble sort) algoritimi
G`oya– stakandagi suvning pufakchalari kun bo`yi tepaga ko`tariladi.
Massiv uchun– eng kichik («engil») element tepada joylashadi («suv yuziga_ko`tariladi»).
• Pastdan boshlab ikkita qo`shni elementni solishtiramiz; agarda ular
«noto`g`ri» turgan bo`lsa, ularni o`rnini almashtiramiz
• Birinchi o`tishda bitta element (eng kichik) o`z joyiga o`tadi
• N ta elementli massivnisaralashuchun N-1 o`tishni bajarish lozim (N-1
elementni_o`z joyiga qo`yish uchun_Yetarli).
Xar bir o`tishdan so`ng ushbu o`tish davomida joy almashtirishlar bo`lgan bo`lmaganligini tekshirib qo`yish mumkin. Ushbu usulning g’oyasi quyidagicha: n - 1 marta massivda quyidan yuqoriga qarab yurib kalitlar jufti-jufti bilan taqqoslanadi. Agar pastki kalit qiymati yuqoridagi jufti kalitidan kichik bo’lsa, u holda ularning o’rni almashtiriladi.
Misol : massiv - 4, 3, 7, 2, 1, 6 Pufaksimon saralash usulida massiv elementlarining o’rnini almashtirish Pufaksimon usulni massiv elementlarida pastdan yuqoriga va yuqoridan pastga o’tishni bir vaqtda amalga oshirish natijasida yaxshilash mumkin. “Pufaksimon” saralash usulini hisoblashga misol Massivni pufaksimon saralashga misol berilgan misolda 5 ta elementdan iborat massiv berilgan. Demak, massivda pastdan yuqoriga (yuqoridan pastga) o’tishlar soni 5-1=4 marta bo’ladi.