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

溫馨提示×

如何用C++實現less復雜比較

c++
小樊
83
2024-09-14 09:27:41
欄目: 編程語言

在 C++ 中,你可以通過重載 operator< 來實現復雜的比較操作。這里有一個簡單的例子,展示了如何為一個自定義結構體實現 less 比較操作:

#include<iostream>
#include<vector>
#include<algorithm>

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

// 重載 operator< 運算符
bool operator<(const Person &a, const Person &b) {
    // 先比較年齡
    if (a.age < b.age) {
        return true;
    } else if (a.age > b.age) {
        return false;
    } else {
        // 如果年齡相同,則按名字的字母順序排序
        return a.name < b.name;
    }
}

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

    // 使用 std::sort 對 people 進行排序
    std::sort(people.begin(), people.end());

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

    return 0;
}

在這個例子中,我們定義了一個 Person 結構體,并重載了 operator< 運算符。這個運算符首先比較兩個 Person 對象的年齡,如果年齡相同,則按照名字的字母順序進行排序。然后我們使用 std::sort 函數對一個包含 Person 對象的 std::vector 進行排序,并輸出排序后的結果。

0
蒲城县| 龙海市| 阿勒泰市| 报价| 宜兰市| 兴和县| 卢龙县| 宜川县| 漳平市| 南通市| 绥江县| 密山市| 河西区| 东乌| 邵东县| 台中县| 乌兰浩特市| 于都县| 上思县| 雷山县| 柞水县| 阿瓦提县| 通州市| 肇州县| 双鸭山市| 寿宁县| 漳浦县| 兴海县| 锦屏县| 拉萨市| 乐昌市| 牡丹江市| 方山县| 肃南| 古浪县| 罗平县| 常德市| 木兰县| 渝中区| 砀山县| 堆龙德庆县|