O‘zbekiston respublikasi oliy va o‘rta maxsus ta’lim vazirligi tоshkеnt dаvlаt iqtisоdiyot universitеti


 Massiv elementlarini saralash bo‘yicha dasturlarni tuzish



Yüklə 1,08 Mb.
Pdf görüntüsü
səhifə64/73
tarix25.12.2023
ölçüsü1,08 Mb.
#161036
1   ...   60   61   62   63   64   65   66   67   ...   73
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. 
A
lmashtirish
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. 

Yüklə 1,08 Mb.

Dostları ilə paylaş:
1   ...   60   61   62   63   64   65   66   67   ...   73




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə