AMALIY QISM:
//Har bir talabaga ajratilgan amaliy topshiriq bajariladi. Tayyorlangan dasturiy vosita skrinshotlari joylashtiriladi.
XULOSA
//Amaliy mashg’ulot bo’yicha umumiy xulosalar yoziladi, bajarilgan ishlar tahlil qilinadi. Savollarga javob beriladi.
AMALIY MASHG’ULOT- 3
Mavzu: Saralash usullari va ularning qo‘llanilishi. Saralashning yaxshilangan usullari va ularning qo’llanilishi.
Pufakchali usuli bilan saralash algoritmi.
Bunday usul karta o‘yinida keng qo‘llaniladi. Elementlar (kartalar) hayolan “tayyor” a(1),...,a(i-1) va boshlang‘ich ketma-ketliklarga bo‘linadi. Har bir qadamda (i=2 dan boshlanib, har bir qadamda bir birlikka oshirib boriladi) boshlang‘ich ketma-ketlikdan i-chi element ajratib olinib tayyor ketma-ketlikning kerakli joyiga qo‘yiladi.
Tanlash orqali saralash algoritmi
Mazkur usul quyidagi tamoyillarga asoslangan:
Eng kichik kalitga ega element tanlanadi.
Ushbu element a0 birinchi element bilan o‘rin almashinadi.
Keyin mazkur jarayon qolgan n-1, n-2 elementlar bilan takrorlanib, to bitta eng “katta” element qolguncha davom ettiriladi.
Saralashning quyidagicha usullari bor:
qat’iy (to‘g‘ridan-to‘g‘ri) usullar;
yaxshilangan usullar.
Qat’iy usullarning afzalliklarini ko‘rib chiqaylik:
Bilamizki, dasturlarning o‘zlari ham xotirada joy egallaydi. To‘g‘ridan- to‘g‘ri saralash usullarining dasturlari qisqa bo‘lib, ular tushunishga oson.
To‘g‘ridan-to‘g‘ri saralash usullari orqali saralash tamoyillarining asosiy xususiyatlarini tushuntirish qulay.
Murakkablashtirilgan usullarda uncha ko‘p amallarni bajarish talab qilinmasada, ushbu amallarning o‘zlari ham ancha murakkabdir. Garchi yetarlicha katta n larda ulardan foydalanish tavsiya etilmasada, kichik n larda mazkur usullar tezroq ishlaydi.
Shu joyni o‘zida qat’iy usullarni ishlash tamoyillariga ko‘ra 3 ta toifaga bo‘lish mumkin:
To‘g‘ridan-to‘g‘ri qo‘shish usuli (by insertion);
To‘g‘ridan-to‘g‘ri tanlash usuli (by selection);
To‘g‘ridan-to‘g‘ri almashtirish usuli (by exchange).
AMALIY QISM:
8.“28”, “12”, “11”, “32”, “76”, “53”, “84”, “45”, “59” berilgan butun sonlarni tanlash saralash usuli orqali dasturi ishlab chiqilsin va taxlil qilinsin.
Dastur kodi:
#include
using namespace std;
int main()
{ int n;
cout<<"Massiv elementlari sonini kiriting: ";
cin>>n;
int a[n];
cout<<"Massiv elementlarini kiriting: ";
for(int i=0; i{ cin>>a[i];}
for (int i=n-1; i>1; i--)
{ for(int j=0; j{ if(a[j]>a[j+1])
{swap(a[j],a[j+1]);}
}}
for(int i=0; i{cout<return 0;
}
Dastur natijasi:
Do'stlaringiz bilan baham: |