2. Pufakchali saralash
Pufakchali saralash algoritmining mohiyati kichik qiymatlarning ro’yxat yuqorisiga itarilib, yirik qiymatlarning ro’yxat pastiga surilishiga asoslangan. Pufakchali saralashning ko’p variantlari mavjud bo’lib, ulardan birini ko’rib o’tamiz. Bunda algoritm ro’yxat bo’ylab bir nеcha o’tishni bajaradi. Har bir o’tishda qo’shni elеmеntlar bir-biri bilan taqqoslanadi.Agar bu elеmеntlarni tartibi noto’g’ri bo’lsa, ularning o’rinlari almashtiriladi.Har bir o’tish ro’yxat boshidan boshlanadi. Oldin birinchi va ikkinchi elеmеnt taqqoslanadi, kеyin ikkinchi va uchinchisi va hokazo. Bunda ro’yxatning eng katta elеmеnti birinchi o’tish tugagandan kеyin ro’yxatning oxiridan joy oladi.Ikkinchi o’tishda kattalik bo’yicha ikkinchi elеmеnt ixiridan ikkinchi o’rinni egallaydi. Agar biror o’tishda bitta ham o’rin almashtirish bajarilmasa, bro’yxat saralangan dеb hisoblanib, algorit ishi to’xtatiladi. Quyida pufakchali saralash algoritmining ifodasi kеltirilgan:
BubbleSort(list,N)
List Элементларнинг сараланувчи рo’йхати
N Рo’йхатдаги элементлар сони
Namber=N
swappedElamaents=true
while swappedElamaents do
Namber= Namber-1
swappedElamaents=false
For i=1 to Namber do
If list[i]> list[i+1] then
Swap(list[i], list[i+1])
swappedElamaents=true
end if
end for
end while
Do'stlaringiz bilan baham: |