C ++ qsort () - Bibliothèque standard C ++

La fonction qsort () en C ++ trie un tableau donné dans l'ordre croissant à l'aide de l'algorithme Quicksort.

La fonction qsort () utilise une fonction de comparaison pour décider quel élément est plus petit / plus grand que l'autre.

prototype qsort ()

 void qsort (void * base, size_t num, size_t size, int (* compare) (const void *, const void *));

La fonction est définie dans le fichier d'en-tête.

La fonction qsort () trie le tableau donné pointé par base dans l'ordre croissant. Le tableau contient des numéléments, chacun de taille octets.

La fonction pointée par compare est utilisée pour comparer deux éléments du tableau. Cette fonction modifie le contenu du tableau lui-même dans l'ordre croissant.

Cependant, si deux éléments ou plus sont égaux, leur ordre n'est pas défini.

Paramètres de qsort ()

  • base: pointeur vers le premier élément du tableau à trier
  • num: nombre d'élément dans le tableau
  • size: taille en octets de chaque élément du tableau
  • compare: un pointeur vers une fonction qui compare deux éléments. Il retourne
    • un entier négatif si le premier argument est inférieur au second
    • un entier positif si le premier argument est supérieur au second
    • zéro si les deux arguments sont égaux

Le prototype de la fonction de comparaison ressemble à:

 int compare (const void * a, const void * b);

qsort () Valeur de retour

La fonction qsort () ne renvoie rien. Le tableau trié est pointé par base.

Exemple: Comment fonctionne la fonction 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

Articles intéressants...