12
va shuning uchun pufakcha kabi ular yuqoriga «suzib chiqadi». Massiv bo‘ylab
birinchi o‘tishda massivning birinchi yozuvi olinadi va uning kaliti navbatma-navbat
keyingi yozuvlarning kalitlari bilan solishtirib boriladi. Agar nisbatan «og‘ir» kalitli
yozuvlar uchrasa, u holda bu yozuvlar joyini almashtiradi. Nisbatan «yengil»
yozuvlar uchraganda bu yozuv taqqoslash uchun etolon bo‘ladi va keyingi barcha
yozuvlar shu kalit bilan solishtiriladi. Natijada eng kichik qiymatli kalit massivning
eng yuqorisiga chiqadi. Massiv bo‘ylab ikkinchi o‘tishda massivning massivni
birinchi o‘tishda topilgan yozuvdan keyin joylashgan og‘irligi bo‘yicha ikkinchi
kalit olinadi. Massiv bo‘ylab ikkinchi va keyingi o‘tishlarda oldingi o‘tishlarda
topilgan yozuvlarni ko‘rib chiqish shart emas, chunki ular qolgan yozuvlarga
qaraganda kichik kalitlarga ega.
Quyida bubble sort algoritmining
c++
tilidagi dasturini keltiramiz:
#include
using namespace std;
int main(){ int a[100], i, j, n, t;
cin>>n;
for(i=0; icin>>a[i];
for(i=n; i>=1; i--)
{ for(j=0; jif(a[j]>a[j+1])
{ t=a[j]; a[j]=a[j+1]; a[j+1]=t; } }
for(i=0; icout<return 0; }
Yana bir saralash usuli insertion sort bo`lib, u ham massiv elementlarini
saralashda qulay usullardan biri hisoblanadi. Insertion sort saralash algoritmida
asosan boshidan boshlab 2 ta elementini keyin 3 ta so`ngra 4 ta va hakozo
n
ta
elementni tartiblanadi. (1) - qadamda dastlabki 2 ta element tartiblanganda faqat 2
ta element, (2) - qadamda 3 ta element tartiblanganda esa 3 - element dastlabki 2 tasi
13
bilan, (3) - qadamda 4 ta element tartiblanganda 4 - element dastlabki 3 tasi bilan va
hakozo (