Heim >Backend-Entwicklung >C++ >Ausführliche Erklärung und Beispieldemonstration der C++-Sortierfunktion

Ausführliche Erklärung und Beispieldemonstration der C++-Sortierfunktion

PHPz
PHPzOriginal
2024-04-02 18:39:011371Durchsuche

Zusammenfassung: Die C++-Sortierfunktion wird zum Sortieren von Containerelementen verwendet. Standardmäßig wird mit dem Operator

Ausführliche Erklärung und Beispieldemonstration der C++-Sortierfunktion

Ausführliche Erklärung der C++-Sortierfunktion und Beispieldemonstration

Übersicht über die Sortierfunktion

Die Sortierfunktion ist eine leistungsstarke Funktion in der C++-Standardvorlagenbibliothek (STL), die zum Sortieren von Containerelementen verwendet wird. Es ordnet die Elemente in einem Container basierend auf festgelegten Vergleichsregeln in aufsteigender oder absteigender Reihenfolge an.

Die Funktion wird wie folgt deklariert:

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

Wobei:

  • Iter: Iteratortyp, der auf das Containerelement zeigt, das Elemente im Container verschieben und darauf zugreifen kann.
  • first: Container-Start-Iterator, der das erste Element des zu sortierenden Elementbereichs angibt.
  • last: Container-End-Iterator, der die Elemente nach dem letzten Element des zu sortierenden Elementbereichs angibt.

Benutzerdefinierte Vergleichsregeln

Standardmäßig verwendet die Sortierfunktion zum Vergleich den -Operator, was bedeutet, dass die Containerelemente in aufsteigender Reihenfolge sortiert werden. Wenn Sie nach unterschiedlichen Regeln sortieren möchten, können Sie eine benutzerdefinierte Vergleichsfunktion bereitstellen:

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

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

Praktisches Beispiel

Beispiel 1: Sortieren eines Arrays von Ganzzahlen

#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;
}

Ausgabe:

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

Beispiel 2: Sortieren eine String-Array-Sortierung

#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;
}

Ausgabe:

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

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung und Beispieldemonstration der C++-Sortierfunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn