C++ stable_sort在实际项目中的应用案例

   2024-10-01 4200
核心提示:一个常见的应用案例是在处理需要稳定排序的数据结构中,如有序的关联容器(如std::map)或者需要保持原有元素顺序的容器(如std:

一个常见的应用案例是在处理需要稳定排序的数据结构中,如有序的关联容器(如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对学生信息按照分数进行排序,并且在分数相同时保持原有的顺序。这样就可以确保相同分数的学生在排序后仍然按照其在原有顺序出现的顺序排列。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号