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

简介: 排序还在用冒泡排序?快来了解sort函数

image.png

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;
}
相关文章
|
机器学习/深度学习 算法 数据挖掘
阿里音乐流行趋势预测—冠军答辩(一)|学习笔记
快速学习阿里音乐流行趋势预测—冠军答辩(一)
1069 0
|
监控 安全 C#
attempt to write a readonly database错误的解决(C#,SQLite)
今天打包WPF程序,安装后总是打不开,查看监控日志原来是SQLite的问题,报错如图     当向SQLite数据库中存入新纪录时总是显示attempt to write a readonly a database。
3639 0
|
中间件 数据处理 Apache
|
Linux
CentOS 7 安装Boost 1.67及boost_python
CentOS 7 安装Boost 1.67及boost_python
1699 0
|
JavaScript Windows 内存技术
Windows安装nvm管理工具(图解)
Windows安装nvm管理工具(图解)
427 0
|
JSON fastjson Java
(fastjson)java 如何将String(字符串)与JSON互转
(fastjson)java 如何将String(字符串)与JSON互转
1241 1
|
开发工具 git
【Git】报错解决cannot open .git/FETCH_HEAD: Permission denied
【Git】报错解决cannot open .git/FETCH_HEAD: Permission denied
1716 0
|
机器学习/深度学习 搜索推荐 数据挖掘
常见的几种距离量度(欧式距离、曼哈顿距离、切比雪夫距离等)
在机器学习和数据挖掘中,我们经常需要计算样本之间的相似度,通常的做法是计算样本之间的距离。本文介绍几种常用的距离量度方法。
2204 0
|
数据可视化 Linux
LVM 扩容方法
LVM 扩容方法
|
移动开发