Nazariy qism(1-90) Massivlarni saralash algoritmlari



Download 265,24 Kb.
bet1/66
Sana31.12.2021
Hajmi265,24 Kb.
#257465
  1   2   3   4   5   6   7   8   9   ...   66
Bog'liq
Yakuniy Javoblari @TBCLbot 2021


NAZARIY QISM(1-90)

  1. Massivlarni saralash algoritmlari.

(boshi,2 va 3 savollarda)

Taroqsimon saralash

Pufaksimon saralashning yana bir modifikatsiyasi. "Toshbaqalar" dan qutulish uchun biz elementlarni masofadan turib qayta joylashtiramiz. Keling, uni tuzatamiz va agar kerak bo'lsa, ularni qayta tartibga solib, elementlarni shu masofada taqqoslab, chapdan o'ngga boraylik. Shubhasiz, bu "toshbaqalar" ga massivning boshiga tezda etib borishiga imkon beradi. Dastlab massivning uzunligiga teng masofani bosib, keyin uni taxminan 1,247 ga teng bo'lgan bir necha omillarga bo'lish maqsadga muvofiqdir. Masofa birga teng bo'lganda, pufaksimon saralash amalga oshiriladi.





#include

#include

//@TBCLbot

using namespace std;

int main()

{

int k;



cout<<"k="; cin>>k;

int A[k];

int k1=k;

srand(time(NULL));

{

b = false;



for(int i=0; i+1

{

if(A[i]>A[i+1])



{

swap(A[i],A[i+1]);

b = true;

}

}



}

for(int i=0; i

{

A[i]=rand()%100;



cout<

}

cout<
double l = 1.243309;

int step = k-1;


while (step>1)

{

for (int i = 0; i+step < k; i++)



{

if (A[i] > A[i + step])

{

swap(A[i], A[i + step]);



}

}

step /=l;


}

bool b =true;

while(b)


for(int i=0; i

{

cout<

}

}

Joylashtirish usuli bo’yicha saralash

Algoritm tugagandan so'ng javobni o'z ichiga oladigan massiv yarataylik. Javoblar massividagi elementlar har doim saralanishi uchun biz navbatma-navbat asl massivdan elementlarni kiritamiz






  1. #include

  2. #include



  3. using namespace std;

  4. int main()

  5. {

  6. int k;

  7. cout<<"k="; cin>>k;

  8. int A[k];

  9. int k1=k;

  10. srand(time(NULL));

  11. for(int i=0; i

  12. {

  13. A[i]=rand()%100;

  14. cout<

  15. }

  16. cout<





  17. for(int i=1; i

  18. {

  19. int j=i;

  20. while(j>0 && A[j-1]>A[j]){

  21. swap(A[j-1],A[j]);

  22. j--;

  23. }

  24. }

  25. for(int i=0; i

  26. {

  27. cout<

  28. }

  29. }



2. Massivlarni tanlash usuli bo’yicha saralash. 1. Tanlash usuli (Selected sort) bo’yicha saralash

Tanlash usuli saralash algoritmi massivni saralanmagan qismdan (o'sish tartibini hisobga olgan holda) minimal elementni bir necha bor topib, boshiga qo'yish orqali qatorni saralaydi. Algoritm berilgan massivda ikkita kichik jadvalni saqlaydi.

1) allaqachon tartiblangan ichki massiv.

2) saralanmagan qolgan ichki massiv.

Tanlash tartibining har bir takrorlanishida tartiblanmagan pastki qatordan minimal element (o'sish tartibini hisobga olgan holda) tanlanadi va saralangan pastki qatorga ko'chiriladi.

Quyidagi misol yuqoridagi qadamlarni tushuntiradi:

#include

using namespace std;

//@TBCLbot

void selectionSort(int arr[], int n)

{

int i, j, min_idx;



for (i = 0; i < n-1; i++)

{

min_idx = i;



for (j = i+1; j < n; j++)

if (arr[j] < arr[min_idx])

min_idx = j;

swap(arr[min_idx], arr[i]);

}

}

void printArray(int arr[], int size)



{

int i;


for (i=0; i < size; i++)

cout << arr[i] << " ";

cout << endl;

}

int main()



{

int arr[] = {64, 25, 12, 22, 11};

int n = sizeof(arr)/sizeof(arr[0]);

selectionSort(arr, n);

cout << "Saralangan massiv: \n";

printArray(arr, n);

return 0;

}


Download 265,24 Kb.

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




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