阅读量: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()的一个简单示例。它适用于对容器中的元素进行排序,并且需要保持相等元素的相对顺序不变的情况。