-masala Belgilardan iborat massiv berilgan. Massivni Quick sort algoritmi bo’yicha saralang




Download 35,37 Kb.
bet2/2
Sana20.05.2024
Hajmi35,37 Kb.
#246163
1   2
Bog'liq
Algoritmni loyihalash 4-m

1-masala
Belgilardan iborat massiv berilgan. Massivni Quick sort algoritmi bo’yicha saralang Belgilardan iborat massiv berilgan. Massivni Quick sort algoritmi bo’yicha saralang
Dastur kodi:

#include


// Pivot elemanını belirlemek için yardımcı fonksiyon


int partition(int arr[], int low, int high) {
int pivot = arr[high]; // Son elemanı pivot olarak seçiyoruz
int i = low - 1; // Düşük (low) indisli elemandan başlanarak pivot elemanının doğru konumunu bulmak için kullanacağımız indis

for (int j = low; j <= high - 1; j++) {


if (arr[j] < pivot) {
i++;
std::swap(arr[i], arr[j]); // Elemanları yer değiştirme
}
}
std::swap(arr[i + 1], arr[high]); // Pivot elemanını da doğru konumuna yerleştirme
return i + 1; // Pivot elemanının doğru konumu
}

// Quick Sort algoritması


void quickSort(int arr[], int low, int high) {
if (low < high) {
int pi = partition(arr, low, high); // Pivot elemanının doğru konumu

// Pivot elemanının sol ve sağ tarafındaki alt dizileri sıralama


quickSort(arr, low, pi - 1);
quickSort(arr, pi + 1, high);
}
}

// Dizi elemanlarını ekrana yazdıran yardımcı fonksiyon


void printArray(int arr[], int size) {
for (int i = 0; i < size; i++) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;
}

int main() {


int arr[] = {9, 5, 2, 7, 1, 8};
int size = sizeof(arr) / sizeof(arr[0]);

std::cout << "Dizi: ";


printArray(arr, size);

quickSort(arr, 0, size - 1);


std::cout << "Sıralanmış dizi: ";


printArray(arr, size);

return 0;


Dasturni tekshirish (Yechim olish):

2-masala. Butun sonlardan iborat bir o’lchovli massiv berilgan. “Bo’lib tashla va hkmronlik qil” prinsipidan foydalanib eng katta qiymatini toppish dasturini tuzing.


Int a[]={23,45,34,14,25,43,53,26,33}
Max_element = 53
Dastur kodi:
#include

int main() {


int a[] = {23, 45, 34, 14, 25, 43, 53, 26, 33};
int n = sizeof(a) / sizeof(a[0]);

int max_element = a[0]; // Massivning birinchi elementini eng katta qiymat deb o'zlashtiramiz

for (int i = 1; i < n; i++) {
if (a[i] > max_element) {
max_element = a[i]; // Yangi eng katta qiymatni topdik
}
}

std::cout << "Eng katta qiymat: " << max_element << std::endl;

return 0;
}
Natijasi:

3-masala. Quyidagi graf uchun Xasislik algoritmlaridan foydalanib eng kichik daraxtni hosil qiling.




Download 35,37 Kb.
1   2




Download 35,37 Kb.

Bosh sahifa
Aloqalar

    Bosh sahifa



-masala Belgilardan iborat massiv berilgan. Massivni Quick sort algoritmi bo’yicha saralang

Download 35,37 Kb.