|
Ma’lumotlar tuzilmasi va algoritmlar fanining maqsad va vazifasini izohlab bering
|
bet | 51/56 | Sana | 24.02.2022 | Hajmi | 1.85 Mb. | | #18040 |
Bog'liq MTA Yakuniy nazorat Hammasi Diskret tuzilmalar 1-M.Ish, 2 5359587219348652922, ARXEOLOGIYADA ANIQ VA TABIIY FANLAR, Falsafa 1-mustaqil ish, ELEKTRON TIJORAT VA BIZNES ASOSLAR, 1-LAB OCHILOV AZIZBEK, 6-amaliy iah Tarmoqlararo ekran vositasi yordamida tarmoq himoy, Aliyev-Tizimli dasturiy taminot, @idum uz tavsifnoma namunasi, TURIZMDA TUROPERATORLIK FAOLIYATINI RIVOJLANTIRISH, TURIZMDA TUROPERATORLIK, Biznesniloyihalash, 1665071471, Axborot xavfsizligi yakuniy testlareturn 0;
}
16. Karim N yoshda, Salim M yoshda, Jasur K yoshda. Siz bu aka-ukalarning yoshini o’sish tartibida chop eting. (Quick Sort saralash algoritmi orqali).
#include
using namespace std;
// Ikki elementni almashtirish uchun yordamchi funktsiya
void swap(int* a, int* b)
{ int t = *a; *a = *b; *b = t; }
/* Ushbu funktsiya oxirgi elementni aylanma, joy sifatida oladi
murvat elementi kerakli holatda joylashadi
ketma-ket joylashtiring va barchasini kichikroq (kichikdan kichikroq) joylashtiring chapdan chapga va hamma elementlar o'ngga
aylanma */
int partition (int mas[], int quyi, int yuqori)
{
int pivot = mas[yuqori]; // aylanma
int i = (quyi - 1); // Kichik elementlarning indeksi
for (int j = quyi; j <= yuqori - 1; j++)
{
// Agar joriy element pivotdan kichik bo'lsa
if (mas[j] < pivot)
{i++; // kichikroq elementning o'sish indeksi
swap(&mas[i], &mas[j]);}
}
swap(&mas[i + 1], &mas[yuqori]);
return (i + 1);}
/* QuickSort-ni amalga oshiradigan asosiy funktsiya
mas [] -> Tartiblanadigan qator
past -> Boshlang'ich indeks,
yuqori -> Tugash indeksi */
void quickSort(int mas[], int quyi, int yuqori)
{if (quyi < yuqori)
{/* pi bu indeks bo'limi, mas [p] hozir kerakli joyda*/
int pi = partition(mas, quyi, yuqori);
// Oldindan alohida tartiblash
// qism va qismdan keyin
quickSort(mas, quyi, pi - 1);
quickSort(mas, pi + 1, yuqori);
}}
/* Chop etish*/
void printMasay(int mas[], int size)
{ int i;
|
| |