stable_sort函数
时间: 2023-12-15 12:06:54 浏览: 79
stable_sort是一个C++标准库中的排序函数,能够对一个容器中的元素进行排序。与sort函数不同的是,stable_sort能够保证相等元素的原始顺序不会被改变。
使用stable_sort函数需要包含头文件<algorithm>,其函数原型如下:
```
template<class RandomIt>
void stable_sort(RandomIt first, RandomIt last);
template<class RandomIt, class Compare>
void stable_sort(RandomIt first, RandomIt last, Compare comp);
```
第一个参数为排序的起始位置,第二个参数为排序的终止位置。如果需要自定义排序规则,可以使用第三个参数,即Compare函数对象。
例如,对一个vector中的元素进行升序排序,可以这样写:
```
#include <algorithm>
#include <vector>
using namespace std;
bool cmp(int a, int b){
return a < b;
}
int main(){
vector<int> nums = {3, 2, 1, 5, 4};
stable_sort(nums.begin(), nums.end(), cmp);
for(int i = 0; i < nums.size(); i++){
cout << nums[i] << " ";
}
return 0;
}
```
输出结果为: 1 2 3 4 5
阅读全文