Dasturlash asoslari




Download 5,61 Mb.
bet46/143
Sana15.03.2021
Hajmi5,61 Mb.
#13226
1   ...   42   43   44   45   46   47   48   49   ...   143
Dasturning bajarilishi

BubbleSort-algoritm funktsionalligini yaxshi Nassi/Shneidermann-Diagramm diagrammasi bilan ham ko‘rsatish mumkin edi, unga mos kodlash (deyarli) har qanday dasturlash tilida amalga oshishi mumkin.





BubbleSort Algorithm







x from 0 to ArrayLength







y from 0 to ArrayLength








y < ArrayLength

yes


no


Array[y] > Array[y+1]

yes


no




temp = Array[y]




Array[y] = Array[y+1]

Array[y+1] = temp




4.1-rasm. BubbleSort dasturining Nassi/Shneidermann-Diagramm diagrammasi
Element o‘zidan keyingi elementdan katta emasligini tekshirishdan navbatdagi tekshirish amalga oshiriladi. Ikkinchi so‘roqda ma’lumotlar maydoning y+1 indeksi foydalanishi sababli y indeksi ma’lumotlar maydonining eng yuqori indeksidan (ArrayLength) kichik bo‘lishi kerak. y eng katta element, deb faraz qilamiz, unda y+1 ma’lumotlar maydoni chegarasidan tashqaridagi xotira doirasida yotadi, biroq u mumkin bo‘lgan qiymatga ega bo‘lmaydi. Ba’zi kompilyatorlar (Compiler) bu o‘rinda ushbu so‘roqdan o‘tkazish bo‘lmasa darrov bajarilgan bo‘ladi (bu erda u juda ma’qul va foydalidir).

Shunday qilib «agar» (if-so‘rov) ichki so‘rovda eng muhim element uning ortitagi elementdan kattami, degan savol tekshiriladi. Agar shunday bo‘lsa, har ikkala qiymat o‘rni almashtiriladi.

Bu namunada ko‘tariluvchi ketma-ketlikda saralash o‘tkaziladi. Agar saralashni pasayuvchi ketma-ketlikda olib borish zarur bo‘lsa, qiyoslashni atigi “nisbatan katta”dan “nisbatan kichikka o‘zgartirish kerak bo‘ladi”.


Download 5,61 Mb.
1   ...   42   43   44   45   46   47   48   49   ...   143




Download 5,61 Mb.