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.
|