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

溫馨提示×

C++ stable_sort在實際項目中的應用案例

c++
小樊
83
2024-08-19 22:11:32
欄目: 編程語言

一個常見的應用案例是在處理需要穩定排序的數據結構中,如有序的關聯容器(如std::map)或者需要保持原有元素順序的容器(如std::vector)。

例如,我們有一個存儲學生信息的結構體Student,其中包含學生的姓名和分數。我們需要按照學生的分數進行排序,但是在分數相同時需要保持原有的順序。這時就可以使用stable_sort來實現穩定排序。

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

struct Student {
    std::string name;
    int score;
};

bool compare(const Student& s1, const Student& s2) {
    return s1.score < s2.score;
}

int main() {
    std::vector<Student> students = {
        {"Alice", 85},
        {"Bob", 92},
        {"Cathy", 85},
        {"David", 78}
    };

    // 使用stable_sort按照學生的分數進行排序
    std::stable_sort(students.begin(), students.end(), compare);

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

    return 0;
}

在上面的例子中,我們使用stable_sort對學生信息按照分數進行排序,并且在分數相同時保持原有的順序。這樣就可以確保相同分數的學生在排序后仍然按照其在原有順序出現的順序排列。

0
阳新县| 霍城县| 和龙市| 南通市| 九寨沟县| 辽宁省| 大埔县| 秭归县| 洱源县| 洪雅县| 湄潭县| 海南省| 岳阳市| 尚志市| 门头沟区| 文化| 广河县| 靖安县| 墨玉县| 吴川市| 门头沟区| 贵阳市| 油尖旺区| 宜州市| 隆德县| 盱眙县| 桃江县| 阳西县| 天全县| 万州区| 柯坪县| 华亭县| 新疆| 乾安县| 三门峡市| 泽库县| 都江堰市| 马关县| 许昌县| 新乡市| 绥滨县|