Respublikamizdagi viloyatlar maydonini o’sish tartibida joylashtiring.
#include #include using namespace std; int main(int args, char *argv[]) { int n; cout<<"viloyatlar sonini kiriting=";cin>>n; struct table{ int t; char VN[20]; } viloyat[n]; cout< for(int i=0;i viloyatlar [i].t=i+1; cin>> viloyatlar [i].VN; } int l=0; for(int i=0;i for(int j=n-1;j>i;j--){ if (strcmp(viloyat[j-1].VN, viloyat[j].VN)==1){ l++; table k= viloyat [j]; viloyat [j]= viloyat [j-1]; viloyat [j-1]=k; } } } for(int i=0;i cout<<"| "<< viloyat [i].t<<" | "<< viloyat [i].VN<<" |"< cout<<"bu algoritm jadvalni "<121
system("PAUSE"); } Dastur natijasi: viloyatlar sonini kiriting =9 5 ta viloyatlar VN sini kiriting Toshkent Jizzax Samarqand Buxoro Navoiy Xorazim Surxandaryo Qashqadaryo Andijon | 2 | Andijon | 4 | Surxandaryo | 1 | Xorazim | | 3 | Buxoro | 5 | Samarqand| |6 | Navoiy | 7 | Qashqadaryo | 8 | Jizzax | 9 | Toshkent
bu algoritm jadvalni 10 ta solishtirishda saraladi
Quiksort – tez saralash algoritmi Bu algoritm “bo'lib ol va egalik qil” tamoyilining yaqqol misolidir. Bu algotirm rekursiv bo'lib, o'rtacha N*log2N ta solishtirish natijasida saralaydi. Algoritm berilgan massivni saralash uchun uni 2 taga bo'lib oladi. Bo'lib olish uchun ixtiyoriy elementni tanlab undan 2 ta qismga ajratiladi. Lekin o'rtadagi elementni tanlab, massivning teng yarmidan 2 ga ajratgan ma'qul. Tanlangan kalit elementga nisbatan chapdagi va o'ngdagi har bir element solishtiriladi. Kalit elementdan kichiklar chapga, kattalar o'ng tomonga o'tkaziladi (6.3-rasm). Endi massivning har ikkala tomonida xuddi yuqoridagi amallar takrorlanadi. Ya'ni bu oraliqlarning o'rtasidagi elementlar kalit sifatida olinadi va h.k.
Hulosa:men bu mustaqil ish topshirigida quic sort algaritmi bilan yaqindan tanishib chiqdim va misol masalalar ishladim. Ketma ket qidiruv algaritmini mukammal o’rgandim.