Maison >développement back-end >C++ >Explication détaillée et exemple de démonstration de la fonction de tri C++

Explication détaillée et exemple de démonstration de la fonction de tri C++

PHPz
PHPzoriginal
2024-04-02 18:39:011300parcourir

Résumé : La fonction de tri C++ est utilisée pour trier les éléments du conteneur. Par défaut, il trie par ordre croissant à l'aide de l'opérateur

Explication détaillée et exemple de démonstration de la fonction de tri C++

Explication détaillée de la fonction de tri C++ et exemple de démonstration

Présentation de la fonction de tri

La fonction de tri est une fonction puissante de la bibliothèque de modèles standard C++ (STL), utilisée pour trier les éléments du conteneur. Il organise les éléments d'un conteneur par ordre croissant ou décroissant en fonction de règles de comparaison spécifiées.

La fonction est déclarée comme suit :

template<typename Iter>
void sort(Iter first, Iter last);

Où :

  • Iter : Type d'itérateur pointant vers l'élément conteneur, qui peut déplacer et accéder aux éléments dans le conteneur.
  • first : Itérateur de démarrage du conteneur, spécifiant le premier élément de la plage d'éléments à trier.
  • last : Itérateur de fin de conteneur, spécifiant les éléments après le dernier élément de la plage d'éléments à trier.

Règles de comparaison personnalisées

Par défaut, la fonction de tri utilise l'opérateur pour la comparaison, ce qui signifie qu'elle trie les éléments du conteneur par ordre croissant. Si vous souhaitez trier selon différentes règles, vous pouvez fournir une fonction de comparaison personnalisée :

bool compare(const Type1& a, const Type2& b)
{
    // 自定义比较规则
}

// 在 sort 函数中使用自定义比较函数
sort(first, last, compare);

Exemple pratique

Exemple 1 : Tri d'un tableau d'entiers

#include <iostream>
#include <algorithm>

using namespace std;

int main()
{
    int arr[] = {5, 2, 7, 1, 3};
    int len = sizeof(arr) / sizeof(arr[0]);

    sort(arr, arr + len);

    cout << "排序后的数组:";
    for (int i = 0; i < len; i++)
    {
        cout << " " << arr[i];
    }
    cout << endl;

    return 0;
}

Sortie :

排序后的数组: 1 2 3 5 7

Exemple 2 : Tri un tri par tableau de chaînes

#include <iostream>
#include <algorithm>

using namespace std;

int main()
{
    string arr[] = {"apple", "orange", "banana", "kiwi", "mango"};
    int len = sizeof(arr) / sizeof(arr[0]);

    sort(arr, arr + len);

    cout << "排序后的数组:";
    for (int i = 0; i < len; i++)
    {
        cout << " " << arr[i];
    }
    cout << endl;

    return 0;
}

Sortie :

排序后的数组: apple banana kiwi mango orange

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn