119
system("PAUSE");
}
Dastur natijasi:
talabalar sonini kiriting=5
5 ta talabalar FIO sini kiriting
Farhod
Asror
Sobir
Bobur
Vali
| 2 | Asror |
| 4 | Bobur |
| 1 | Farhod |
| 3 | Sobir |
| 5 | Vali |
bu algoritm jadvalni 3 ta o‘rinlashtirishda saraladi
Ishni bajarishga namuna
Masalaning qo„yilishi – tabalarning ism, familiyalarini
optimallashtirilgan
pufaksimon usuli bilan tartibga keltirish dasturini tuzamiz va saralash nechta o„rin
almashtirish bilan amalga oshirilganini aniqlaymiz.
Algoritm
1. Jadvalga talabalar ism-sharifini kiritamiz.
2. Jadvaldagi
1-elementni olamiz,
i=0.
3. Jadvaldagi
n-1 oxirgi elementdan to
i-elementgacha barcha elementni FIO
maydonini o„zidan oldin turgan element FIO maydoni bilan solishtiramiz. Agar
zarur bo„lsa, o„rin almashtiramiz va o„rin almashtirishlar hisoblagichi
l ning
qiymatini bittaga oshiramiz, ya‟ni
l++.
4. Agar
i bo„lsa, i++ va 3-qadamga o„tamiz.
5. Natijaviy saralangan massivni ekranga chiqaramiz.
Dastur kodi
121
system("PAUSE");
}
Dastur natijasi:
talabalar sonini kiriting=5
5 ta talabalar FIO sini kiriting
Farhod
Asror
Sobir
Bobur
Vali
| 2 | Asror |
| 4 | Bobur |
| 1 | Farhod |
| 3 | Sobir |
| 5 | Vali |
bu algoritm jadvalni 10 ta solishtirishda saraladi
Nazorat savollari
1. Qanday saralash algoritmlarini bilasiz?
2. Saralash algoritmlari samaradorligini qanday baholash mumkin?
3. Pufaksimon saralash algoritmi va uni yahshilangan usulini tushuntiring.
4. To‟g‟ridan-to‟g‟ri qo‟shish, tanlash algoritmlarini farqini tushuntiring.
5. Shella saralash algoritmini tushuntiring.
6. Quicksort algoritmini tushuntiring.
Topshiriq
Quyida har 10 ta variant uchun umumiy bo„lgan masalaning berilishi
va talab qilinayotgan saralash usuli keltirilgan. Talabalar topshiriq olib
so„ralayotgan usul bilan o„zlari tomonidan tanlangan ixtiyoriy saralash
122
usulining samaradorligini solishtirish dasturini tuzishlari kerak. Usullarni
solishtirishda o„rin almashtirishlar soni nazarda tutiladi.
Ta‟mirlash ustaxonasida bir nechta (N ta) mashina bor. Ular to„g„risida
quyidagi ma‟lumotlarga egamiz: raqami, markasi, egasining ismi, oxirgi
marta ta‟mirlanganligi sanasi (kuni, oyi, yili), ta‟mirdan chiqishi lozim
bo„lgan sana (kun, oy, yil).
To„g„ridan-to„g„ri qo„shish usulidan foydalanib, saralashni amalga oshirish
dasturini ishlab chiqish (variantga mos ravishda):
1. Mashina egalarining ismlari bo„yicha alifbo tartibida joylashtirilsin va
mos ravishda ularning mashinalari haqidagi ma‟lumotlar chiqarilsin.
2. Avtomobillarni ta‟mirlash tartibi ishlab chiqilsin. Bu yerda ta‟mir tugashi
sanasi qaysi avtomobil uchun ertaroq bo„lsa, shunga
birinchi navbatda xizmat
ko„rsatiladi.
3. Oldingi ta‟mir qilinganlar soni 2 ga teng bo„lgan mashinalar raqamlari
bo„yicha kamayish tartibida joylashtirilsin.
4. Oldin ta‟mir qilinmagan mashinalarni ta‟mirdan chiqish sanasi bo„yicha
o„sish tartibida joylashtiring.
5. "Mersedes" markali mashina egalarini alifbo bo„yicha
teskari tartibda
joylashtiring.
6. Boshqalaridan oldinroq ta‟mirlanadigan mashinalarni ularning markasi
bo„yicha alifbo tartibida joylashtiring (ta‟mir tugatilishi sanasi 31.12.2012 dan
erta).
7. "Nexia" markasidagi mashinalarni raqamlari bo„yicha o„sish
tartibida
joylashtiring.
8. O„tgan yildan beri ta‟mirlanmagan mashinalarni ularning egalari ismlari
bo„yicha alifbo tartibida joylashtiring.
9. Keyingi oyda ta‟mirlanishi lozim bo„lgan
mashinalarni oxirgi marta
ta‟mirlanganlik sanasi bo„yicha o„sish tartibida keltiring.
10. "Mersedes" markasidagi mashinalarni raqamlari bo„yicha kamayish
tartibida joylashtiring.