sort函数用来对数组进行排序处理。
头文件引用
#include<algorithm>
using namespace std;
默认排序
sort函数默认排序方为“从小到大”,我们只需要输入前两个参数即可:
参数一:排序的开始元素begin(左闭)
参数二:排序的结束元素的后一个end(右开)
int main() {
int a[5] = {5, 4, 3, 2, 1};
sort(a, a+5);//sort(begin,end)
printf("默认排序结果为:");
for(int i =0; i<5;i++){
printf("%d ", a[i]);
}
}
//默认排序结果为:1 2 3 4 5
第三个参数
引入第三个参数comp,可以自己调节排序的方式
参数三:comp是程序员自己定义的一个bool型函数(可以进行函数重载定义多个comp函数:不同参数的函数可以有相同的名字),不发生交换的条件下返回true,发生交换返回false
- 从大到小:
//如果left>rigth,则不交换,返回“真”
bool comp(int left, int right) {
if (left > right) {
return true;
} else {
return false;
}
}
int main() {
int a[5] = {5, 4, 3, 2, 1};
sort(a, a + 5, comp); //加入第三个参数comp
printf("从大到小排序结果为:");
for (int i = 0; i < 5; i++) {
printf("%d ", a[i]);
}
}
//从大到小排序结果为:5 4 3 2 1
- 从小到大:
//如果left<right,则不交换,返回“真”
bool comp(int left, int right) {
if (left < right) {
return true;
} else {
return false;
}
}
int main() {
int a[5] = {5, 4, 3, 2, 1};
sort(a, a + 5, comp);
printf("从小到大排序结果为:");
for (int i = 0; i < 5; i++) {
printf("%d ", a[i]);
}
}
//从小到大排序结果为:1 2 3 4 5
相关例题
参考内容:
机试的意义和主要内容
王道机试指南
牛客网