Massiv elementlarini saralash bo‘yicha dasturlarni tuzish




Download 1,08 Mb.
Pdf ko'rish
bet62/71
Sana22.12.2023
Hajmi1,08 Mb.
#127027
1   ...   58   59   60   61   62   63   64   65   ...   71
Bog'liq
Algoritmlashtirish va dasturlash asoslari

11.3. Massiv elementlarini saralash bo‘yicha dasturlarni tuzish 
Massivni saralashning bir necha usullari (algoritmlari) mavjud. Ulardan 
quyidagi usullarni qarab chiqamiz: 
- oddiy tanlash usuli; 
- oddiy almashtirish usuli. 
Tanlash usuli yordamida massivni o‗sish bo‗yicha saralash algoritmi 
quyidagicha: 
1.Massivning birinchi elementidan boshlab qarab chiqilib eng kichik element 
topiladi. 
2.Birinchi element bilan eng kichik element joylari almashtiriladi.
3.Ikkinchi elementidan boshlab qarab chiqilib eng kichik element topiladi. 
4.Ikkinchi element bilan eng kichik element joylari almashtiriladi.
5.Bu protsess bitta oxirgi elementgacha takrorlanadi. 
Bu algoritm dasturi quyidagicha bo‗ladi:
  Program Sort
Const n=5; 
Var i, j, min, k, buf: Integer; a: Array[1..n] of Integer;
Begin 
Writeln (‗Massivni saralash‘); 
Write (n:3,‘ -ta massiv elementini kiriting‗); 
For k:=1 to n Do Read(a[k]);
For i:=1 to n-1 Do
Begin { kichik elementni topish }
min:=i; 
For j:=i+1 to n Do
Begin 
If a[j]buf:=a[i]; a[i]:=a[min]; a[min]:=buf; 
For k:=1 to n Do Write (a[k],‘ ‗); 


112 
Writeln; 
End;
End; 
Writeln(`Massiv saralandi.`); 
End. 
Dastur natijasi: 
Massivni saralash 
5 ta massiv elementini kiriting 
12 -3 56 47 10 
Saralash 
-3 12 56 47 10 
-3 10 56 47 12 
-3 10 12 47 56 
-3 10 12 47 56 
Massiv saralandi. 
Almashtirish usuli yordamida massiv elementlarini o‗sib borishda saralash 
algoritmi quyidagicha: 
1.Massivning birinchi elementidan boshlab ketma-ket hamma qo‗shni 
elementlar bir-biri bilan solishtirilib, agar birinchisi ikkinchisidan kichik bo‗lsa ular 
joyi almashtirilib boriladi.
2. Bu protsess davomida kichik qiymatli elementlar massiv boshiga katta 
elementlar esa oxiriga siljitilib boriladi. SHu sabab bu usul «puzirka» usuli ham 
deyiladi.
3. Bu protsess massiv elementlar sonidan bitta kam marta takrorlanadi.
Masalan:
3 2 4 5 1 bunda 3 bilan 2 va 5 bilan 1 almashtiriladi. 
2 3 4 1 5 bunda 4 bilan 1 almashtiriladi. 


113 
2 3 1 4 5 bunda 3 bilan 1 almashtiriladi. 
2 1 3 4 5 bunda 2 bilan 1 almashtiriladi. 
1 2 3 4 5
Bu algoritm dasturi quyidagicha bo‗ladi:
  
Program Sort; 
Const n=5; 
Var i,j,min,k,buf: Integer; a: Array[1..n] of Integer;
Begin 
Writeln (‗Massivni puzirek (ko‗pikcha) usulida saralash‘); 
Write (Size:3,‘ta massiv elementini kiriting‗); 
For k:=1 to n Do Read(a[k]);
Writeln (‗Saralash‘); 
For i:=1 to n-1 Do
Begin 
For k:=1 to n-1 Do
Begin 
If a[k]>a[k+1] then
Begin 
buf:=a[k]; a[k]:=a[k+1]; a[k+1]:=buf; 
End; 
End;
For k:=1 to n Do Write (a[k],‘ ‗); Writeln; 
End; 
Writeln(‗Massiv saralandi.‘); 
End. 
Dastur natijasi: 
Massivni puzirek usulida saralash 
5 ta massiv elementini kiriting 


114 
3 2 4 1 5 
Saralash
2 3 4 1 5 
2 3 1 4 5 
2 1 3 4 5 
1 2 3 4 5 
Massiv saralandi. 

Download 1,08 Mb.
1   ...   58   59   60   61   62   63   64   65   ...   71




Download 1,08 Mb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



 Massiv elementlarini saralash bo‘yicha dasturlarni tuzish

Download 1,08 Mb.
Pdf ko'rish