Comment utiliser la fonction stable_sort() en C++

Comment Utiliser La Fonction Stable Sort En C



Il existe différentes fonctions en C++ pour trier les éléments de la séquence dans un ordre spécifique. Semblable à la fonction de tri, le stable_sort est utilisé pour trier les éléments de la plage (premier, dernier). La principale différence entre eux est que le stable_sort maintient l'ordre relatif des éléments avec des valeurs égales.

Dans ce tutoriel détaillé, nous montrerons le fonctionnement du stable_sort() en C++.

Comment utiliser la fonction stable_sort() en C++

En C++, le stable_sort() est un algorithme de bibliothèque standard qui organise les éléments par ordre croissant et conserve le même ordre pour les éléments équivalents. Cela signifie que si deux éléments sont égaux, l'élément qui apparaît en premier dans le conteneur avant le tri apparaîtra toujours en premier dans la liste triée. Cette fonction fonctionne en divisant à plusieurs reprises le conteneur (tableaux, vecteurs, listes chaînées), en les triant séparément, puis en les fusionnant pour obtenir le conteneur trié. Il relève de la En tête de fichier.







La syntaxe générale pour l'utilisation de stable_sort() en C++ est :



stable_sort ( RandomAccessIterator en premier , RandomAccessIterator dernier ) ;

Ici le d'abord est l'itérateur pointant vers le premier élément de la plage à trier, et le dernier est l'itérateur pointant vers l'élément après le dernier élément de la plage à trier.



Le stable_sort() La fonction utilise un ordre non décroissant pour trier les entrées de la plage [premier, dernier], c'est-à-dire du plus petit au plus grand élément. La fonction compare par défaut les éléments via les opérateur inférieur à (<).





Exemple 1

Considérez l'exemple de code ci-dessous, dans ce code, nous avons créé le liste de vecteurs et initialisé avec quelques valeurs. Ensuite, nous avons utilisé le stable_sort() pour trier les valeurs du vecteur donné par ordre croissant. Les vecteurs non triés et triés sont imprimés sur la console à l'aide de la boucle basée sur la plage.

#include

#include

#include

en utilisant l'espace de noms std ;



entier principal ( )

{

vecteur < entier > liste = { 5 , 2 , 25 , 4 , 9 , 33 , 38 , 26 } ;

cout << « Numéros avant tri : » ;

pour chaque ( liste. commencer ( ) , liste. fin ( ) , [ ] ( entier X ) {

cout << X << ' ' ;

} ) ;

stable_sort ( liste. commencer ( ) , liste. fin ( ) ) ;

cout << ' \n Chiffres après tri : ' ;

pour chaque ( liste. commencer ( ) , liste. fin ( ) , [ ] ( entier X ) {

cout << X << ' ' ;

} ) ;



retour 0 ;

}




Exemple 2

Dans l'exemple ci-dessous, nous avons créé un tableau d'entiers et l'avons initialisé avec certaines valeurs. Ensuite, par défaut, le stable_sort() trie les éléments par ordre croissant :

#include

#include

en utilisant l'espace de noms std ;

entier principal ( )

{

entier déployer [ ] = { 12 , 7 , 7 , 1 , 8 , 7 , 3 , 4 , 22 , 0 } ;

entier n = taille de ( déployer ) / taille de ( déployer [ 0 ] ) ;

cout << 'Le tableau d'origine est : \n ' ;

pour ( entier je = 0 ; je < n ; ++ je ) {

cout << déployer [ je ] << ' ' ;

}

stable_sort ( déployer , déployer + n ) ;

cout << ' \n Le tableau après tri est : \n ' ;

pour ( entier je = 0 ; je < n ; ++ je ) {

cout << déployer [ je ] << ' ' ;

}

retour 0 ;

}

Exemple 3

Le stable_sort prend le troisième paramètre pour spécifier l'ordre de tri de l'élément. Dans l'exemple ci-dessous, nous avons utilisé le plus grand() fonction avec stable_sort() trier les éléments du tableau par ordre décroissant

#include

#include

en utilisant l'espace de noms std ;

entier principal ( )

{

entier déployer [ ] = { 12 , 7 , 7 , 1 , 8 , 7 , 3 , 4 , 22 , 0 } ;

entier n = taille de ( déployer ) / taille de ( déployer [ 0 ] ) ;

cout << 'Tableau d'origine : \n ' ;

pour ( entier je = 0 ; je < n ; ++ je ) {

cout << déployer [ je ] << ' ' ;

}

stable_sort ( déployer , déployer + n , plus grand < entier > ( ) ) ;

cout << ' \n Tableau après tri : \n ' ;

pour ( entier je = 0 ; je < n ; ++ je ) {

cout << déployer [ je ] << ' ' ;

}

retour 0 ;

}

Conclusion

Le stable_sort() La fonction en C++ est un algorithme de bibliothèque standard utilisé pour trier les éléments d'un conteneur dans un ordre non décroissant tout en conservant l'ordre relatif des éléments dans un conteneur avec les mêmes valeurs. Il peut être utilisé avec différents conteneurs tels que des tableaux, des vecteurs et des listes chaînées. De plus, il faut un troisième paramètre pour spécifier l'ordre de tri des éléments.