x = SonlarMassivi[i];
SonlarMassivi[i] = SonlarMassivi[j];
SonlarMassivi[j] = x;
6-qadam. O’zgaruvchi j ning qiymatiga 1 qo’shilsin: j++.
7-qadam. Agar j < N bo’lsa, u holda 5-qadamga o’tilsin.
8-qadam. O’zgaruvchi i ning qiymatiga 1 qo’shilsin: i++.
9-qadam. Agar i < N – 1 bo’lsa, u holda 4-qadamga o’tilsin.
10-qadam. Ishlov berilgan SonlarMassivi elementlari ushbu tartibda chiqarilsin:
SonlarMassivi[0], SonlarMassivi[1], …, SonlarMassivi[N – 1].
Algoritmga izoh. Algoritmning 7-qadamida agar j < N shart bajarilsa 5-qadamga o’tish talab qilingan. Agar bu shart bajarilmasa-chi, degan savol tug’ilishi mumkin. Bu savolga javob: agar shart bajarilmasa, o’z-o’zidan keying ya’ni 8-qadamga o’tiladi: algoritmni qadamlar shaklida ifodalash aynan shunday qoidani nazarda tutadi. Aynan shu gaplar 9-qadamga ham taaluqlidir. Huddi shu kabi, 5-qadamdagi shartning bajarilmasligi .
Mazkur algoritmni to’g’ri ekanligini tekshirib chiqish uchun, kichikroq sonlar massivini kiritib, hamma qadamlarni ko’rsatrilgan tartibda o’tib chiqish kerak bo’ladi. Masalan, SonlarMassivi'>SonlarMassivi sifatida { 3, 2, 1 } ni kiritishimiz mumkin va algoritmni boshidan oxirigacha o’tib chiqishimiz mumkin, bunda massiv indeksi 0 dan boshlanishini unutmaslik kerak:
1-qadam: SonlarMassivi ga { 3, 2, 1 } kiritish natijasi:
SonlarMassivi[0] = 3; SonlarMassivi[1] = 2; SonlarMassivi[2] = 1;
2-qadam: N = 3, chunki SonlarMassivi ga 3 ta son kiritildi.
3-qadam: i = 0.
4-qadam: j = i + 1. // j = 1 bo’ldi
5-qadam: SonlarMassivi[i] > SonlarMassivi[j], ya’ni
SonlarMassivi[0] > SonlarMassivi[1] shartni tekshiramiz; bu shartga massiv elementlari quiymatlarini qo’ysak, 3 > 2 bo’ladi, ya’ni bu shart to’g’ridir; shu bois quyidagilarni bajaramiz:
Do'stlaringiz bilan baham: |