91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

c++ vector sort的用法是什么

c++
小億
116
2023-11-08 13:35:14
欄目: 編程語言

C++ 的 vector 類提供了一個 sort 函數,用于對向量中的元素進行排序。sort 函數的用法如下:

#include <vector>
#include <algorithm>

int main() {
    std::vector<int> vec = {5, 2, 8, 1, 9};

    // 對向量中的元素進行升序排序
    std::sort(vec.begin(), vec.end());

    // 輸出排序后的結果
    for (int num : vec) {
        std::cout << num << " ";
    }

    return 0;
}

輸出結果為:1 2 5 8 9。

sort 函數的使用需要包含 <algorithm> 頭文件。該函數接受兩個迭代器作為參數,分別指定排序的范圍,其中 vec.begin() 指向向量的第一個元素,vec.end() 指向向量的最后一個元素的下一個位置。

默認情況下,sort 函數會按照升序對元素進行排序。如果需要按照降序進行排序,可以使用 std::greater<int>() 函數對象作為 sort 函數的第三個參數,如下所示:

std::sort(vec.begin(), vec.end(), std::greater<int>());

此時輸出結果為:9 8 5 2 1。

除了基本數據類型的排序,sort 函數還可以對自定義對象進行排序,只需要重載對象的 < 運算符或者使用自定義的比較函數即可。例如,對一個存儲自定義對象的 vector 進行排序:

#include <vector>
#include <algorithm>

struct Person {
    std::string name;
    int age;
};

bool compareByAge(const Person& p1, const Person& p2) {
    return p1.age < p2.age;
}

int main() {
    std::vector<Person> people = { {"Alice", 25}, {"Bob", 20}, {"Charlie", 30} };

    // 對向量中的元素按照年齡進行排序
    std::sort(people.begin(), people.end(), compareByAge);

    // 輸出排序后的結果
    for (const Person& person : people) {
        std::cout << person.name << ": " << person.age << std::endl;
    }

    return 0;
}

輸出結果為:

Bob: 20
Alice: 25
Charlie: 30

0
长海县| 离岛区| 股票| 平果县| 利津县| 高密市| 玉屏| 土默特左旗| 太谷县| 南阳市| 万载县| 英山县| 龙州县| 德清县| 平和县| 游戏| 南昌市| 沿河| 黄石市| 张家界市| 黔江区| 奉节县| 大姚县| 贺州市| 福鼎市| 三原县| 平湖市| 科技| 西平县| 包头市| 荣昌县| 泰州市| 墨竹工卡县| 甘洛县| 怀柔区| 石首市| 彭阳县| 鹿邑县| 英德市| 新闻| 普洱|