一、代码和效果
#include<bits/stdc++.h>
using namespace std;int main()
{int a[6]={1,45,2,5,456,7};sort(a,a+6);for(int i=0; i<6; i++){cout<<a[i]<<" "<<endl;}return 0;
}
二、sort函数解析 (从小到大)
std::sort
是C++标准库中用于对容器或数组进行排序的函数,它位于头文件<algorithm>
中。
函数原型
template< class RandomIt >
void sort( RandomIt first, RandomIt last );
RandomIt
是一个模板参数,代表了一个随机访问迭代器类型。first
是指向排序范围的起始位置的迭代器。last
是指向排序范围的末尾元素的下一个位置的迭代器。
功能
std::sort
函数用于对指定范围内的元素进行排序,根据默认的比较函数(operator<
)进行升序排序。排序后,范围内的元素将按照指定的顺序排列。
代码例子
#include <iostream>
#include <algorithm>
#include <vector>// 自定义比较函数,用于从大到小排序
bool compare(int a, int b) {return a > b; // 返回true表示a排在b的前面,即从大到小排序
}int main() {std::vector<int> vec = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3};// 使用自定义比较函数对整个向量进行排序std::sort(vec.begin(), vec.end(), compare);// 输出排序后的结果for (const auto& num : vec) {std::cout << num << " ";}std::cout << std::endl;return 0;
}
三、sort降序用法(从大到小)
#include <iostream>
#include <algorithm>
#include <vector>// 自定义比较函数,用于从大到小排序
bool compare(int a, int b) {return a > b; // 返回true表示a排在b的前面,即从大到小排序
}int main() {std::vector<int> vec = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3};// 使用自定义比较函数对整个向量进行排序std::sort(vec.begin(), vec.end(), compare);// 输出排序后的结果for (const auto& num : vec) {std::cout << num << " ";}std::cout << std::endl;return 0;
}