【c++】排序还在用冒泡排序?快来了解sort函数

364 阅读1分钟

C++中的的sort函数

冒泡排序执行效率低,这样看来就不如我们使用简单好操作的sort函数

sort 排序函数

必须要有的头文件: #include < algorithm > 拥有三个参数:sort(a,b,c) a:第一个是要排序的数组的起始地址。 b:第二个是结束的地址(最后一位要排序的地址)。 c:第三个参数是排序的方法。

下面就具体使用sort()函数结合对数组排序做一个说明!

1.sort函数若没有第三个参数,默认实现的是从小到大
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
 int a[10]={9,6,3,8,5,2,7,4,1,0};
 for(int i=0;i<10;i++)
 cout<<a[i]<<endl;
sort(a,a+10);  
 for(int i=0;i<10;i++)
 cout<<a[i]<<endl;
 return 0;
}
2.sort函数的第三个参数

less<数据类型>() //从小到大排序

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
 int a[10]={9,6,3,8,5,2,7,4,1,0};
 for(int i=0;i<10;i++)
 cout<<a[i]<<endl;
sort(a,a+10,less<int>());
 for(int i=0;i<10;i++)
 cout<<a[i]<<endl;
 return 0;
}

greater<数据类型>() //从大到小排序

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
 int a[10]={9,6,3,8,5,2,7,4,1,0};
 for(int i=0;i<10;i++)
 cout<<a[i]<<endl;
 sort(a,a+10,greater<int>());
 for(int i=0;i<10;i++)
 cout<<a[i]<<endl;
 return 0;
}

3.利用sort函数实现对字符的排序
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
 char a[11]="asdfghjklk";
 for(int i=0;i<10;i++)
 cout<<a[i]<<endl;
 sort(a,a+10,greater<char>());
 for(int i=0;i<10;i++)
 cout<<a[i]<<endl;
 return 0;
}