14
Endi esa ushbu saralash algoritmining dasturini keltiramiz:
#include
using namespace std;
int main()
{ int *a, i, n, j, m;
cin >> n;
a=new int [n];
for(i=0; icin>>a[i];
for(i=1; i{ j=i;
while(j>0&&(a[j]{ m=a[j];
a[j]=a[j-1];
a[j-1]=m;
j--; } }
for(i=0; icout << a[i] << " ";
delete []a;
return 0; }
Selection sort alagaritmi – bu tanlash algoritmidir. Tanlash algoritmi saralash
algoritmlarining eng oddiy saralash usuli hisoblanadi. Ushbu saralash algoritmi
ro’yhatning ikki qismga bo’linadigan qismi, chap tomonning oxiridagi qismi va o’ng
tomonning ajralmas qismiga bo’linadigan joylarda taqqoslashga asoslangan saralash
algoritmidir. Dastlabki holda, tartiblangan qism bo’sh va sarlavha qilinmagan qism
butun ro’yhat hisoblanadi. Eng kichik eliment unsorted qatordan tanlanadi va eng
chap element bilan almashtiriladi va bu element tartiblangan qatorning bir qismiga
aylanadi. Ushbu jarayonni bajarish tartibsiz qator qatorni o’nga bir element bilan
harakat qilishni davom ettiradi. Uishbu saralash algaritmi juda katta malumotlar
16
Dastur izohi: dastur
C++
dasturlash tilining kompyuterlar uchun mo’ljallangan
versiyalarida ishga tushirilgach hosil bolgan qora fondagi doskaga dastlab massiv
elementlari soni n so’ngra n ta massiv elementini kiritamiz. Massivning birinchi
elementi bilan qolgan barcha elementlarni taqqoslab chiqamiz. Agarda massivning
birinchi elementi qolgan barcha elementlarni ixtiyoriysidan katta bo’lsa u holda bu
elementlar urni almashadi. Kiyingi qadamda ikkinchi element bilan undan kiyin
turgan elementlarni taqqoslaymiz. Kiyingi qadamda uchinchi element va hakozo
oxirgi qadamda n-1 birinchi element bilan n-element taqqoslanadi. Har qadamda
taqqoslash sharti bajarilsa taqqoslangan elementlar o’rni almashadi va bu jarayon
taqqoslash sharti bajarilmay qolguncha davom etadi
Dastur natijasi quyidagicha bo’ladi: