Rumah >pembangunan bahagian belakang >C++ >Penjelasan terperinci dan contoh demonstrasi fungsi C++ sort

Penjelasan terperinci dan contoh demonstrasi fungsi C++ sort

PHPz
PHPzasal
2024-04-02 18:39:011298semak imbas

Abstrak: Fungsi isihan C++ digunakan untuk mengisih elemen bekas. Secara lalai, ia disusun mengikut tertib menaik menggunakan operator

Penjelasan terperinci dan contoh demonstrasi fungsi C++ sort

Penjelasan terperinci dan contoh demonstrasi fungsi isihan C++

Gambaran keseluruhan fungsi isihan

Fungsi isihan ialah fungsi yang berkuasa dalam Perpustakaan Templat Standard (STL) C++, digunakan untuk mengisih elemen bekas. Ia menyusun elemen dalam bekas ke dalam susunan menaik atau menurun berdasarkan peraturan perbandingan yang ditentukan.

Fungsi diisytiharkan seperti berikut:

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

Di mana:

  • Iter: Jenis iterator yang menunjuk ke elemen bekas, yang boleh memindahkan dan mengakses elemen dalam bekas.
  • first: Pengulang permulaan kontena, menyatakan elemen pertama julat elemen untuk diisih.
  • last: Peulang akhir bekas, menyatakan elemen selepas elemen terakhir julat elemen untuk diisih.

Peraturan perbandingan tersuai

Secara lalai, fungsi isihan menggunakan operator untuk perbandingan, yang bermaksud ia mengisih elemen kontena dalam tertib menaik. Jika anda ingin mengisih mengikut peraturan yang berbeza, anda boleh menyediakan fungsi perbandingan tersuai:

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

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

Contoh praktikal

Contoh 1: Mengisih tatasusunan integer

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

Output:

Output:

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

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

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

Atas ialah kandungan terperinci Penjelasan terperinci dan contoh demonstrasi fungsi C++ sort. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn