C++sort函数关于数组、容器vector、字符串类string排序
来源:互联网 发布:家用网络交换机连接 编辑:程序博客网 时间:2024/05/22 17:16
一、作用:
C++中自带的排序方法,需要提供序列的头、尾地址,和排序方式(降序或升序)。其中时间复杂度为n*log2(n),效率较高!
sort函数就好比一条糅乱的绳子,只有抓住头和尾,甩动起来就可以让绳子拉直,有序,再就是需要考虑一下是从头开始甩呢?还是从尾开始甩就可以了。
二、用法:
(1)头函数:#include <algorithm>
std::sort
(2)参数:sort(start,end,ways)
start:序列头地址
end:序列尾地址
ways:排序方式,升序或降序,默认排序为升序。可自定义,也可以使用内置排序方法:less<数据类型>(),greater<数据类型>() 包含在std::less std::greater中
三、例子:
(1)数组
#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); //默认排序为升序,a为首地址,a+10为尾地址
for(int i=0;i<10;i++)
cout<<a[i]<<endl;
return 0;
}
(2)自定义排序方式
bool compare(int a,int b)
{
return a>b;
}
这就是告诉程序要实现从大到小的排序的方法!
#include<iostream>
#include<algorithm>
using namespace std;
bool complare(int a,int b)
{
return a>b;
}
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,compare);//在这里就不需要对compare函数传入参数了,//这是规则
for(int i=0;i<10;i++)
cout<<a[i]<<endl;
return 0;
}
(3)容器vector排序 (string类似用迭代器进行)
- C++sort函数关于数组、容器vector、字符串类string排序
- vector<string>字符串容器介绍
- 通过STL vector容器实现对map容器按值排序,不用sort函数
- sort函数对数组、容器以及结构体的排序(for sort)
- sort函数对数组和字符串的排序
- c++ string类、vector容器
- sort函数对数组排序
- js 数组排序函数sort
- 关于vector容器进行插入排序
- 实战c++中的vector系列--使用sort算法对vector<unique_ptr<string>>进行排序(sort函数“应输入 2 个参数,却提供了 3 个)
- 贪心算法求解存放磁带问题(vector数组键盘输入,C++sort函数)
- C++STL库学习之向量容器vector & string容器
- [C++]排序函数sort()用法
- C ++排序函数sort(),qsort()
- 关于容器函数vector和deque
- Comparator<String>接口,String类数组按字符串长度排序
- 【c++】用string类定义字符串数组
- 【C++】 用string类定义字符串数组
- 智邦国际CRM系统核心功能作用
- 用jqueryweui框架开发的微信公众号,底部按钮弹出对话框苹果真机上无效果的问题
- 打不开IDLE
- windows服务器上安装Apache+php+Mariadb(mysql的分支数据库)详细教程
- 整数除法隐式转换
- C++sort函数关于数组、容器vector、字符串类string排序
- 支持嵌入至POS机安卓软件中的车牌识别sdk
- 20个非常有用的Java程序片段
- 面向面试编程?
- bzoj2286消耗战 虚树+树型动规
- 4027: [HEOI2015]兔子与樱花
- linux下部署PostgreSQL_yum安装_DNS服务器的问题
- Flask 电子邮件设置error553的解决办法
- C++ 动态规划-背包类