To’g’ridan-to’g’ri qo’shish usuli (Insertion sort) Ornina qoyiw joli menen sortlaw algoritminin’ tiykarg’I ideasi sondan ibarat bunda sortlang’an dizimge tazadan element qosqanda sol elementti kerek bolg’an ornina qoyip ha’m toliq bolg’an dizimdi ja’ne bir ma’rte sortlawdan ibarat boladi. A[0] …. A[i] izbe-izlikte jaylasqan bolsa. Bunda algoritmnin’ o’sip bariwi menen birge og’an taza element qosilip baradi.
Bul algoritmde I – basqishinda izbe-izlik eki bo’limge bo’linedi: tawsilg’an a[0] …… a[j] ha’m ta’rtipsiz a[i +1] ….. a[n].
Keyingi, (i + 1) - algoritmning har bir bosqichida biz [i + 1] ni olamiz va massivning tugagan qismiga kerakli joyga joylashtiramiz. Kirish ketma-ketligining keyingi elementi uchun mos joyni qidirish uning oldidagi element bilan ketma-ket taqqoslash orqali amalga oshiriladi. Taqqoslash natijalariga qarab, element yoki hozirgi joyda qoladi (joylash tugallandi) yoki ular joylarni o'zgartiradi va jarayon takrarlanadi.
public static void InnerSort (int []a) {
int n = a.length;
for(int i=0; i{System.out.println("i= "+ i);
for(int j=i+1; j{ System.out.println("j= "+ j);
if(a[j] < a[i] )
{ int x = a[i];
a[i] = a[j];
a[j] = x;
System.out.println(a[j]); }}}
System.out.println(Arrays.toString(a));}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n;
n = in.nextInt();
int []a = new int [n];
for(int i=0; i{ a[i] = (int)(Math.random()*50); }
System.out.println(Arrays.toString(a));
InnerSort (a);
Topshiriqlar 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 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):
Mashina egalarining ismlari bo’yicha alifbo tartibida joylashtirilsin va mos ravishda ularning mashinalari haqidagi ma’lumotlar chiqarilsin.
Avtomobillarni ta’mirlash tartibi ishlab chiqilsin. Bu yerda ta’mir tugashi sanasi qaysi avtomobil uchun ertaroq bo’lsa, shunga birinchi navbatda xizmat ko’rsatiladi.
Oldingi ta’mir qilinganlar soni 2 ga teng bo’lgan mashinalar raqamlari bo’yicha kamayish tartibida joylashtirilsin.
Oldin ta’mir qilinmagan mashinalarni ta’mirdan chiqish sanasi bo’yicha
o’sish tartibida joylashtiring.
"Mersedes" markali mashina egalarini alifbo bo’yicha teskari tartibda joylashtiring.
Boshqalaridan oldinroq ta’mirlanadigan mashinalarni ularning markasi bo’yicha alifbo tartibida joylashtiring (ta’mir tugatilishi sanasi 31.12.2012 dan erta).
"Nexia" markasidagi mashinalarni raqamlari bo’yicha o’sish tartibida joylashtiring.
O’tgan yildan beri ta’mirlanmagan mashinalarni ularning egalari ismlari bo’yicha alifbo tartibida joylashtiring.
Keyingi oyda ta’mirlanishi lozim bo’lgan mashinalarni oxirgi marta ta’mirlanganlik sanasi bo’yicha o’sish tartibida keltiring.
"Mersedes" markasidagi mashinalarni raqamlari bo’yicha kamayish tartibida joylashtiring. N ta talabadan iborat guruh tuzilsin. Quyidagi ma’lumotlar berilgan: familiya, ism, tug’ilgan yili, fanlar bo’yicha bahosi: MTvaA, oliy matematika, fizika, dasturlash, topshirgan sessiya umumiy bali. To’g’ri tanlov usulidan foydalanib, saralashni amalga oshirish dasturini ishlab chiqing (variantga mos ravishda):
Talabalar familiyalarini alifbo tartibida.
Talabalarni yoshi bo’yicha o’sish tartibida.
Talabalarni umumiy bali bo’yicha o’sish tartibida.
Talabalarni birinchi imtihoni natijasi bo’yicha o’sish tartibida.
Talabalarni ikkinchi imtihoni natijasi bo’yicha kamayish tartibida.
Talabalarni uchinchi imtihoni natijasi bo’yicha o’sish tartibida.
Talabalarni to’rtinchi imtihoni natijasi bo’yicha kamayish tartibida.
Talabalarni birinchi va ikkinchi imtihoni natijalari bo’yicha o’sish tartibida.
Talabalarni birinchi va ikkinchi imtihoni natijalari bo’yicha kamayish tartibida.
Talabalarni umumiy bali bo’yicha kamayish tartibida.