Reja: kirish I. Bob. Saralash algoritimi haqida tushuncha


arrayPtr[element_counter] = temp



Download 343,45 Kb.
bet5/12
Sana28.02.2022
Hajmi343,45 Kb.
#474208
1   2   3   4   5   6   7   8   9   ...   12
Bog'liq
saralash

arrayPtr[element_counter] = temp;
}
}
}
}
Tanlovni saralash algoritmi maksimal (minimal) elementlarni qidirish algoritmiga asoslangan. Darhaqiqat, qidiruv algoritmi tanlovni saralashning eng muhim qismidir. Saralashning asosiy vazifasi massiv elementlariga buyurtma berish bo'lganligi sababli, almashtirishlarni amalga oshirish kerak. Tartiblanayotgan massiv elementlari qiymatlarining almashinuvi 48-50 qatorlarda sodir bo'ladi. Agar siz 46 satrdagi> belgisini kamroq belgiga o'zgartirsangiz, unda massiv kamayish tartibida saralanadi. Dastur natijasi 1-rasmda keltirilgan.



II.BOB Saralash algoritimlari.
Pufakcha usulida saralash(Bubble sort).
Pufakcha usulida saralash algoritmi massivining dastlabki ikkita elementini taqqoslash bilan boshlanadi, agar kerak bo'lsa almashtirladi. Masalan, agar siz massiv elementlarini qoiymati bo'yicha saralamoqchi bo'lsangiz va birinchi element ikkinchisidan kattaroq bo'lsa, elementlarni joyida almashtirishingiz kerak. Agar birinchi element ikkinchisidan kam bo'lsa, uni almashtirishingiz kerak emas. Keyin ikkinchi va uchinchi elementlar yana taqqoslanadi va agar kerak bo'lsa almashtiriladi va bu jarayon oxirgi va oldingi elementlar taqqoslanib almashtirilguncha matngacha davom etadi. Bu qabariq tartibining birinchi bosqichini yakunlaydi.

Agar sizga n elementni saralash kerak bo'lsa, unda kerakli natijani olish uchun yuqorida aytib o'tilgan jarayon n-1 marta takrorlanishi kerak. Ammo ikkinchi ekranda yaxshiroq ishlab chiqarish uchun oxirgi va oldingi elementlar taqqoslanmaydi, chunki mos keladigan element birinchi qadamdan keyin oxirida avtomatik ravishda joylashtiriladi. Xuddi shunday, uchinchi bosqichda oxirgi va oldingi va oldingi elementlar taqqoslanmaydi va hokazo.



  • Agar ikki qo’shni element noto’g’ri tartibda joylashib qolgan bo’lsa, ularning o’rnini almashtiramiz.

  • Umumiy n-1 marta jarayon bajariladi. Har safar ikkita qo’shni element taqqoslanadi.

  • Elementlar o’z o’rinlariga pufakga o’xshab siljib boradi.


3

5

2

10

9

4






3

2

5

9

4

10






3

2

5

9

4

10






3

2

5

4

9

10


3

2

4

5

9

10






3

2

4

5

9

10


2

3

4

5

9

10

To'g'ridan-to'g'ri almashtirishni saralash algoritmi barcha elementlar saralanmaguncha qo'shni elementlarning juftligini taqqoslash va almashtirish printsipiga asoslanadi. To'g'ridan-to'g'ri tanlash usulida bo'lgani kabi, takrorlashlar massiv orqali amalga oshiriladi, har safar qolgan ketma-ketlikning eng kichik elementini massiv boshiga o'tkazadi. Agar biz massivlarni gorizontal emas, balki vertikal deb hisoblasak, unda elementlarni bankadagi suv pufakchalari deb talqin qilish mumkin va ularning har birining vazni uning kalitiga mos keladi. Bunday holda, har bir o'tish joyida bitta qabariq, go'yo uning vazniga mos keladigan darajaga ko'tariladi. Ushbu uslub pufakchali saralash deb nomlanadi.



C++ da Pufakchalarni saralash.


#define _CRT_SECURE_NO_WARNINGS // to'g'ri ish uchun scanf()


#include 
// To'g'ridan-to'g'ri almashinuvni saralash funktsiyasi (pufakcha usuli)
void bubbleSort(int *num, int size)
{
// Barcha elementlar uchun
for (int i = 0; i < size - 1; i++)
{
for (int j = (size - 1); j > i; j--) // i-dan keyingi barcha elementlar uchun
{
if (num[j - 1] > num[j]) // agar joriy element avvalgisidan kam bo'lsa
{
int temp = num[j - 1]; // ularni almashtirish
num[j - 1] = num[j];
num[j] = temp;
}
}
}
}
int main()
{
int a[10]; // 10 ta elementdan iborat massivni e'lon qilish
// Massiv elementlarining qiymatlarini kiriting
for (int i = 0; i < 10; i++) 
{
printf("a[%d] = ", i);
scanf("%d", &a[i]);
}
bubbleSort(a, 10); // tartiblash funktsiyasini chaqiring
// Tartiblangan qator elementlarini ko'rsatish for (int i = 0; i<10; i++)
printf("%d ", a[i]);
getchar(); getchar();
return 0;
}




Download 343,45 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   12




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©www.hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish