“Ma’lumotlar tuzilmasi va algoritmlar” fanining maqsadi va vazifasi



Download 17,57 Mb.
bet47/129
Sana29.11.2022
Hajmi17,57 Mb.
#874460
1   ...   43   44   45   46   47   48   49   50   ...   129
Bog'liq
@TUIT quiz MTA

1

2

3

1

4

5

2

3

1- o’tish:

4

1

5

2

3

1-Misol:

1

4

5

2

3

1

4

5

2

3

1

4

2

5

3

2-o’tish :
3- o’tish :

1

2

4

5

3

1

2

3

4

5

1

2

4

5

3

4- o’tish :

1

2

3

4

5

1

2

3

4

5

1

2

4

3

5

N elementdan iborat massivni saralash uchun N-1 ta o’tish kerak (N-1 ta elementlarni o’z o’rniga qo’yish kerak).
!
2-Misol:
Masalan, bizda butun sonlar massivi mavjud:
Massivdan birinchi o'tishda biz 3 va 7 qiymatlarini taqqoslaymiz. 7 raqami 3 dan katta bo'lgani uchun biz ularni o'z holicha qoldiramiz. Keyin biz 7 va 4 ni solishtiramiz. 4 raqami 7 dan kichik, shuning uchun biz ularni almashtiramiz, 7 ni bir pozitsiyaga massiv oxiriga yaqinlashtiramiz. Endi u shunday ko'rinadi:
3-Misol:
Bu jarayon yetti raqami massivning deyarli oxiriga yetguncha takrorlanadi. Oxirida u 8-element bilan taqqoslanadi, bu kattaroqdir, ya'ni almashinuv yo'q. Massivni bir marta qarab chiqqanimizdan so'ng, u quyidagicha ko'rinadi:
Hech bo'lmaganda bitta qiymat almashinuvi sodir bo'lganligi sababli, biz massivni yana bir marta takroran ko’rib chiqishimiz kerak. Ushbu o'tish natijasida biz 6 raqamini joyiga o'tkazamiz.
Keyingi o’tishda almashish sodir bo’lmaydi, demak, massiv saralangan holga kelganligi uchun algoritm o’z ishini yakunlaydi.
Va yana kamida bitta almashinuv amalga oshirildi, ya'ni biz yana massivni ko’rib chiqamiz.
#include
using namespace std;
int main()
{ setlocale(LC_ALL, "Rus");
int n; // elementlar soni
cout << “ Elementlar soni: ";
cin >> n;
/* Massiv o’lchamini aniqlaymiz */
int mass[n];
for(int i = 0; i < n; ++i)
{ cout << i+1 << "-nchi element: ";
cin >> mass[i];
}
cout << " Berilgan massiv: ";
for(int i = 0; i < n; ++i)
{ cout << mass[i] << " ";
}
cout << endl;
/* Kamayish bo’yicha saralaymiz */
for(int i = 1; i < n; ++i)
{ for(int r = 0; r < n-i; r++)
{if(mass[r] < mass[r+1])
{ // Joyini almashtirish
int temp = mass[r];
mass[r] = mass[r+1];
mass[r+1] = temp;
}
}
}
/* Saralangan massiv */
cout << " Saralangan massiv : ";
for(int i = 0; i < n; ++i)
{ cout << mass[i] << " ";
}
cout << endl;
return 0;
}
Agar biz nafaqat maksimum qiymatga ega elementlarni oxiridan joylashtirib kelsak, balki minimum qiymatga ega bo’lgan elementlarni ham massivning boshlang’ich tomonidan joylashtirib kelsak, unda biz SHEYKER saralash algoritmiga ega bo’lamiz.
Jarayon “pufaksimon saralash" da bo'lgani kabi boshlanadi: Massiv oxiriga maksimal qiymatga ega bo’lgan elementni surib boramiz. Shundan so'ng, biz 180 gradus atrofida aylanamiz va teskari yo'nalishda boramiz, shu bilan birga massivning boshlang’ich qismiga maksimal emas, balki minimal elementni joylashtiramiz. Massivdagi birinchi va oxirgi elementlarni saralab, biz yana jarayonni takrorlaymiz. Massivda bir necha marta oldinga va orqaga qarab yurib, oxirida biz jarayonni yakunlaymiz, bu holda ro'yxatning o'rtasida bo'lamiz.

Download 17,57 Mb.

Do'stlaringiz bilan baham:
1   ...   43   44   45   46   47   48   49   50   ...   129




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©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