Tez saralash (Quicksort) Bu usul ingliz informatigi Charlz Xoar (Чарльз Хоар) tomonidan 1960
Download 12,32 Kb.
|
quickSort
Tez saralash (Quicksort) Bu usul ingliz informatigi Charlz Xoar (Чарльз Хоар) tomonidan 1960 yilda Moskva universitetida kompiyterda electron tarjima qilish bo’yicha o’qiyotganida, rus-ingliz so’zlashgichini ishlab chiqayotganida taklif etilgan.
#include using namespace std; void swap(int* a, int* b) // 2ta elementni almashtirish uchun funksiya { int t = *a; *a = *b; *b = t; } int partition (int arr[], int l, int h) { int pivot = arr[h]; int i = (l - 1); // kichikroq element indeksi va shu jarayongacha topilgan pivotning to`g`ri pozitsiyasini ko`rsatadi for (int k = l; k <= h - 1; k++) { if (arr[k] < pivot) i++; // kichik elementni o`sish tartibida joylashtirish swap(&arr[i], &arr[k]); } } swap(&arr[i + 1], &arr[h]); return (i + 1); } //tezkor saralashni amalga oshiruvchi funksiya void quickSort(int arr[], int l, int h) { if (l < h) { int pi = partition(arr, l, h); quickSort(arr, l, pi - 1); quickSort(arr, pi + 1, h); } } /* massivni chiqarish funksiyasi*/ void print_array(int arr[], int size) { int i; for (i = 0; i < size; i++) cout << arr[i] << " "; cout << endl; } int main() { int arr[] = {11, 13, 16, 1, 3, 5, 9}; int n = sizeof(arr) / sizeof(arr[0]); quickSort(arr, 0, n - 1); cout << "Sorted array: \n"; for(int i=0; i { cout< } return 0; } Download 12,32 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2025
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling