C++ stable_sort()实例讲解

avatar
作者
筋斗云
阅读量:4

stable_sort()是C++标准库中的一个排序算法,它用于对容器中的元素进行排序。与其他排序算法不同的是,stable_sort()会保持相等元素的相对顺序不变。

下面是一个使用stable_sort()的简单示例,对一个包含字符串的vector进行排序:

#include <iostream> #include <vector> #include <algorithm> int main() { std::vector<std::string> fruits = {"banana", "apple", "orange", "grape", "apple"}; std::cout << "Before sorting:" << std::endl; for (const auto& fruit : fruits) { std::cout << fruit << " "; } std::cout << std::endl; std::stable_sort(fruits.begin(), fruits.end()); std::cout << "After sorting:" << std::endl; for (const auto& fruit : fruits) { std::cout << fruit << " "; } std::cout << std::endl; return 0; } 

这个示例首先创建了一个vector fruits,其中包含了一些水果名称。然后,使用stable_sort()对fruits进行排序。排序后,打印出排序后的结果。

输出结果为:

Before sorting: banana apple orange grape apple After sorting: apple apple banana grape orange 

可以看到,排序后的fruits按照字母顺序进行了排序,同时相等的元素(这里是"apple")的相对顺序保持不变。

这就是使用stable_sort()的一个简单示例。它适用于对容器中的元素进行排序,并且需要保持相等元素的相对顺序不变的情况。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!