Rumah > pembangunan bahagian belakang > C++ > Cara menggunakan fungsi isihan dalam c++

Cara menggunakan fungsi isihan dalam c++

小老鼠
Lepaskan: 2024-03-25 17:58:47
asal
1080 orang telah melayarinya

Fungsi isihan dalam C++ ialah fungsi perpustakaan algoritma STL yang berguna yang digunakan untuk mengisih elemen dalam bekas. Sintaks asasnya ialah: `sort(Iterator first, Iterator last)`, di mana pertama dan terakhir ialah iterator yang mentakrifkan kedudukan permulaan dan penamat bagi jujukan. Secara lalai, fungsi isihan diisih dalam tertib menaik, tetapi anda boleh menyesuaikan pengisihan dengan menyediakan fungsi perbandingan atau melebihkan `operator<`. Untuk objek jenis tersuai, fungsi perbandingan perlu disediakan.

Cara menggunakan fungsi isihan dalam c++

Dalam C++, fungsi isihan ialah fungsi yang sangat berguna dalam perpustakaan algoritma STL (Standard Template Library), yang digunakan untuk mengisih elemen dalam bekas. Fungsi ini ditakrifkan dalam fail pengepala jadi anda perlu memasukkan fail pengepala ini sebelum menggunakannya. Sintaks asas fungsi

isih adalah seperti berikut:

cpp

#include <algorithm>  
#include <vector>  
  
std::sort(Iterator first, Iterator last);
Salin selepas log masuk

Di sini, pertama dan terakhir ialah iterator, yang mentakrifkan kedudukan permulaan dan penamat bagi urutan yang hendak diisih. Ambil perhatian bahawa lelaran terakhir menunjuk ke elemen seterusnya pada "kedudukan akhir" jujukan, jadi julat sebenar jujukan ialah [pertama, terakhir).

Fungsi isih mengisih elemen dalam tertib menaik secara lalai Jika anda perlu mengisih objek daripada jenis tersuai, anda mungkin perlu menyediakan fungsi perbandingan atau operator lebihan<.

Berikut ialah contoh mudah yang menunjukkan cara menggunakan fungsi isih untuk mengisih vektor:

cpp

#include <iostream>  
#include <vector>  
#include <algorithm>  
  
int main() {  
    std::vector<int> numbers = {5, 2, 8, 1, 9};  
      
    std::sort(numbers.begin(), numbers.end());  
      
    for (int num : numbers) {  
        std::cout << num << &#39; &#39;;  
    }  
      
    return 0;  
}
Salin selepas log masuk

Atur cara ini akan mengeluarkan: 1 2 5 8 9, iaitu elemen dalam vektor nombor dalam menaik pesanan Hasil tersusun.

Jika anda perlu mengisih objek daripada jenis tersuai, anda perlu menyediakan fungsi perbandingan atau operator beban lampau<. Sebagai contoh, katakan anda mempunyai kelas Orang yang mempunyai pembolehubah ahli umur, dan anda ingin mengisih objek Orang mengikut umur:

cpp

#include <iostream>  
#include <vector>  
#include <algorithm>  
  
class Person {  
public:  
    std::string name;  
    int age;  
      
    Person(const std::string& name, int age) : name(name), age(age) {}  
      
    // 重载 operator< 以便 sort 可以使用  
    bool operator<(const Person& other) const {  
        return age < other.age;  
    }  
};  
  
int main() {  
    std::vector<Person> people = {  
        {"Alice", 30},  
        {"Bob", 20},  
        {"Charlie", 25}  
    };  
      
    std::sort(people.begin(), people.end());  
      
    for (const auto& person : people) {  
        std::cout << person.name << ": " << person.age << std::endl;  
    }  
      
    return 0;  
}
Salin selepas log masuk

Program ini akan mengeluarkan nama dan umur setiap orang dalam susunan umur yang menaik. Ambil perhatian bahawa kami membebankan operator< supaya fungsi isihan tahu cara membandingkan objek Orang. Jika anda tidak mahu membebankan operator

Atas ialah kandungan terperinci Cara menggunakan fungsi isihan dalam c++. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan