|
O‘zbekistonda fanlararo innovatsiyalar va 8- son ilmiy tadqiqotlar jurnaliBog'liq Raxmonova M.R.1-rasm. ASCII bo’yicha saralash.
O‘ZBEKISTONDA
FANLARARO
INNOVATSIYALAR
VA
8-
SON
ILMIY
TADQIQOTLAR
JURNALI
20.05.2022
62
Dasturlashda turli xil saralash algoritmlar mavjud. Masalani turi mazmuniga
qarab turib saralash algoritmlarning biri qo’llaniladi. Keling eng ko’p qo’llaniladigan
saralash algoritmlarini ko'rib chiqamiz.
Eng ko’p qo’llaniladigan saralash algoritmlaridan biri bu Pufakchali (bubble sort)
saralash algoritmidir. Pufakchali saralash algoritmi har bir o'tishda qo'shni
elementlarni qayta-qayta taqqoslaydi va almashtiradi (agar kerak bo'lsa) (2-
rasm). Bubble Sortning
i
-o'tish joyida (o'sish tartibida) oxirgi
(i-1)
ta
elementlar
allaqachon tartiblangan bo’ladi va
i
-eng katta element
(N-i)
-pozitsiyaga joylashadi.
[2]
2-rasm. Pufakchali saralash algoritmi.
Pufakchali saralash algoritmi dastur listingi:
BubbleSort (Arr, N) // Arr n o’lchamli massiv
{For ( I:= 1 to (N-1) )
{For ( J:= 1 to (N-I) )
{If ( Arr [J] > Arr[J+1] ) Swap( Arr[j], Arr[J+1] );}}}
Keyingi saralash algoritmi bu Tanlash usuli (selection sort). Tanlash usuli - eng
kichik elementni tanlaydi va
i
-pog'onaga joylashtiradi (3-rasm). Ushbu algoritm
massivni ikki qismga ajratadi: tartiblangan (chap) va tartiblanmagan (o'ng) pastki
qator. U tartiblanmagan pastki qatordan eng kichik elementni tanlaydi va shu pastki
qatorning birinchi holatiga (oʻsish tartibida) joylashtiradi. Keyingi eng kichik
elementni qayta-qayta tanlaydi.
[2]
3-rasm. Tanlash usuli (selection sort)
Tanlash usuli dasturlash tilida quyidagicha yozish mumkin:
SelectionSort (Arr, N)
{For ( I:= 1 to (N-1) ) {
min_index = I;
For ( J:= I+1 to N )
{If ( Arr [J] < Arr[min_index] )
min_index = J;}
If (min_Index != I)
|
| |