C ++ qsort () - Стандартна бібліотека C ++

Функція qsort () у C ++ сортує даний масив у порядку зростання за допомогою алгоритму Quicksort.

Функція qsort () використовує функцію порівняння, щоб визначити, який елемент менший / більший за інший.

прототип qsort ()

 void qsort (void * base, size_t num, size_t size, int (* порівняти) (const void *, const void *));

Функція визначена у файлі заголовка.

Функція qsort () сортує даний масив, вказаний базою, у порядку зростання. Масив містить numелементи, кожен із розміром байт.

Функція, на яку вказує порівняння, використовується для порівняння двох елементів масиву. Ця функція змінює вміст самого масиву у порядку зростання.

Однак, якщо два або більше елементів рівні, їх порядок не визначений.

Параметри qsort ()

  • основа: Вказівник на перший елемент масиву для сортування
  • num: номер елемента в масиві
  • size: розмір у байтах кожного елемента масиву
  • порівняти: вказівник на функцію, яка порівнює два елементи. Воно повертається
    • від’ємне ціле число, якщо перший аргумент менший за другий
    • ціле додатне число, якщо перший аргумент більший за другий
    • нуль, якщо обидва аргументи рівні

Прототип функції порівняння виглядає так:

 int порівняння (const void * a, const void * b);

qsort () Повернене значення

Функція qsort () нічого не повертає. На відсортований масив вказує база.

Приклад: Як працює функція qsort ()?

 #include #include using namespace std; int compare(const void* a, const void* b) ( const int* x = (int*) a; const int* y = (int*) b; if (*x> *y) return 1; else if (*x < *y) return -1; return 0; ) int main() ( const int num = 10; int arr(num) = (9,4,19,2,7,9,5,15,23,3); cout << "Before sorting" << endl; for (int i=0; i 

When you run the program, the output will be:

 Before sorting 9 4 19 2 7 9 5 15 23 3 After sorting 2 3 4 5 7 9 9 15 19 23

Цікаві статті...