温馨提示×

C++ stable_sort()实例讲解

c++
小云
89
2023-10-08 02:43:53
栏目: 编程语言

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

0