Ici, nous verrons la différence entre qsort() en C et sort() en C++.
Le langage C fournit la fonction qsort(), qui peut être utilisée pour trier des tableaux. Les paramètres et la syntaxe de la fonction sont indiqués ci-dessous.
void qsort(void *base, size_t num, size_t size, int (*comparator) (const void*, const void*));
Cette fonction accepte l'adresse de base du tableau, le nombre d'éléments dans le tableau, la taille de chaque élément du tableau et une fonction de comparaison.
C++ fournit la fonction sort(), qui se trouve en C++ STL. Ses paramètres et sa syntaxe sont indiqués ci-dessous.
void sort(T first, T last, Compare c);
Il n'y a aucune garantie que l'ordre des éléments répétés soit préservé. Pour atteindre cet objectif, nous pouvons utiliser stable_sort fourni par C++ STL.
qsort() en C | sort() en C++ |
---|---|
Il utilise un algorithme de tri rapide. | Il utilise l'introsort. Il s'agit d'un algorithme de tri hybride. Différentes implémentations utilisent différents algorithmes. GNU C++ STL utilise un tri hybride en trois parties. Introsort, Quicksort et Tri par insertion. |
La norme C ne mentionne pas | ce problème. |
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!