C++中sort排序用法
STL中自带排序函数sort。要使用sort需要头文件(下列例子中有)
//sort(begin,end),其中begin和end表示的是排序的范围。
#include <iostream>
#include<cstring>
#include <algorithm>
using namespace std;
int main(){
char a[10];
int n;
cin>>a;
n=strlen(a);
sort(a,a+n);
for(int i=0;i<n;i++)
cout<<a[i];
return 0;
}
输入:126487
输出:124678(默认从小到大,字母同样,比较ascll码的大小)
那么怎么从大到小输出呢?
需要自己编写compare函数:
bool compare(int a,int b)
{
return a<b; //升序排列,如果改为return a>b,则为降序//
}
最后代码一看:
int main()
{
int a[20]={2,4,1,23,5,76,0,43,24,65},i;
for(i=0;i<20;i++)
cout<<a[i]<<endl;
sort(a,a+20,compare);//compare作为第三个参数//
for(i=0;i<20;i++)
cout<<a[i]<<endl;
return 0;
}