当前位置 博文首页 > Keven_11的博客:C++笔记:排序sort()全解
相信大家知道什么是排序了吧,但为了照顾某些小学同学,我还是说一下。排序:将一系列无序的元素转化为有序的元素。
排序的方法有许多种,如快速排序、归并排序、冒泡排序······
这里我就讲C++自带的排序函数 sort()。
#include<iostream>
#include<algorithm>//1
using namespace std;
int main(){
int a[5]={1,5,2,4,3};
sort(a,a+5);//2
for (int i=0;i<5;i++){
cout<<a[i]<<" ";
}
return 0;
}
1.这是用sort函数要调用的头文件,一定要注意,他要写在#include<iostream>
后面,因为#include<iostream>
里面包含了#include<algorithm>
,否则会出错。
2.这是将数组a里面的元素从小到大排序(a数组就会变成1、2、3、4、5)格式:sort(x,x+y);
将数组x中从开始到第y个元素从小到大排序;sort(x+i,x+j);
将x[i]——x[j-1]从小到大排序,其他元素不变。当要用sort()排列字符串时:sort(s[x].begin(),s[x].end());
,当用sort从大到小排列数组元素时:sort(x,x+y,greater<数据类型>());
。
其实,sort还有第三个参数:自定义比较参数。
#include<iostream>
#include<algorithm>1
using namespace std;
bool cmp(int x,int y){
return x>y;
}
int main(){
int a[5]={1,5,2,4,3};
sort(a,a+5,cmp);//注意cmp没带括号
for (int i=0;i<5;i++){
cout<<a[i]<<" ";
}
return 0;
}
自定义函数cmp让C++按照cmp函数来排序(代码中是从大到小,从小到大是bool cmp(int x,int y){ return x<y; }
)。注意调用时cmp没带括号!
想看更多,可关注我哟(^U^)ノYO