sort算法的使用
sort算法的使用
望文生义,sort是STL内置的一个排序算法,其底层是由多个排序算法的配合的使用。
- 需要包含的头文件
#include<algorithm>
- 使用
sort(参数1,参数2,参数3)
参数1:排序的左端点的迭代器或者地址
参数2:排序的右端点的迭代器或者地址
参数3:控制排序优先级的函数
注意:
代码例子:
- 对数组排序
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int a[100] = { 1,3,7,5,32,11,45,67 };
sort(a, a + 8);//注意是a+8而不是a+7,是最后一个元素的后一位,而不是最后一个元素
for (int i = 0; i < 8; i++)
{
cout << a[i] << " ";
}
return 0;
}

- 对容器排序,以vector为例
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
vector<int>arry;
arry.push_back(4);
arry.push_back(2);
arry.push_back(23);
arry.push_back(7);
sort(arry.begin(), arry.end());
for (int i = 0; i < arry.size(); i++) {
cout << arry[i] << " ";
}
return 0;
}

- 自己写函数改变排序优先级,将从小到大--->从大到小
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
bool cmp(int& a, int& b) {
return a > b;
}
int main()
{
vector<int>arry;
arry.push_back(4);
arry.push_back(2);
arry.push_back(23);
arry.push_back(7);
sort(arry.begin(), arry.end(), cmp);
for (int i = 0; i < arry.size(); i++) {
cout << arry[i] << " ";
}
return 0;
}

sort算法的使用的更多相关文章
- STL源码分析----神奇的 list 的 sort 算法实现
STL中有一个std::sort算法,但它是不支持std::list的,因为list不提供RandomIterator的支持,但list自己提供了sort算法,把list的元素按从小到大的方式来排序, ...
- 快速排序及STL中的sort算法
快速排序基本思想是,对待排序序列进行划分(Partition),一次划分,选择一个元素作为枢轴,然后将所有比枢轴小的元素放到枢轴的左边,将比枢轴大的元素放到枢轴的右边.然后对该枢轴划分的左右子序列分别 ...
- 【决战西二旗】|理解Sort算法
前言 前面两篇文章介绍了快速排序的基础知识和优化方向,今天来看一下STL中的sort算法的底层实现和代码技巧. 众所周知STL是借助于模板化来支撑数据结构和算法的通用化,通用化对于C++使用者来说已经 ...
- 地精排序(Gnome Sort) 算法
gnome应该是最简单排序的排序算法吧!Gnome Sort,这是该算法的作者命名的,O(n*n)时间复杂度,O(1)空间复杂度,属于稳定的排序算法.算法的思想是每趟循环找到第一个逆序的元素,把它和在 ...
- 排序算法| Array.sort()算法规则
1.js的Array.sort()是使用什么算法排序: 1.火狐中是“归并排序” 2.V8引擎是 “插入排序和快速排序结合”.数组长度不超过10时,使用插入排序.长度超过10使用快速排序.在数组较短时 ...
- 转载 从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法
转载自:http://www.cnblogs.com/cj695/p/3863142.html sort函数在使用中非常好用,也非常简单,而且效率与冒泡或者选择排序不是一个数量级.本文就sort函数在 ...
- V8 引擎的sort算法
用的是快速排序,有点小问题 function ArraySort(comparefn) { // In-place QuickSort algorithm. // For short (length ...
- 【转】 从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法
sort函数在使用中非常好用,也非常简单,而且效率与冒泡或者选择排序不是一个数量级.本文就sort函数在vector中的用法分为sort函数入门用法与自定义comp比较函数比较结构体这两个最基本的功能 ...
- 从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法
sort函数在使用中非常好用,也非常简单,而且效率与冒泡或者选择排序不是一个数量级.本文就sort函数在vector中的用法分为sort函数入门用法与自定义comp比较函数比较结构体这两个最基本的功能 ...
- 【C++】从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法
sort函数在使用中非常好用,也非常简单,而且效率与冒泡或者选择排序不是一个数量级.本文就sort函数在vector中的用法分为sort函数入门用法与自定义comp比较函数比较结构体这两个最基本的功能 ...
随机推荐
- threejs 几何体的本质 顶点
几何体的线框模式, 一个正方平面最少可以由4个顶点组成,两个三角形组成(公用了 2个顶点,使用了索引创建顶点属性) . // 导入 threejs import * as THREE from &qu ...
- ES5 和 ES6 的区别,说几个 ES6 的新增方法
ECMAscript5.,即ES5 ,表示 ECMAscript的第五次修订-2009 : ECMAscript6.,即ES6 ,表示 ECMAscript的第六次修订-2015 : ES6 是对于 ...
- 「模拟赛」CSP-S 模拟 11(T2 超详细)
比赛链接 A.玩水 (water) 签到.发现如果要找两条路径的话,能找到的充要条件是存在一个点的上方和左方的字母相同.(即使两条走过的点截然不同的路径也符合,这时终点会成为这个点). 即存在一个位置 ...
- Nuxt.js 应用中的 app:templates 事件钩子详解
title: Nuxt.js 应用中的 app:templates 事件钩子详解 date: 2024/10/18 updated: 2024/10/18 author: cmdragon excer ...
- 带你玩转nginx负载均衡
nginx跨多个应用程序实例的负载平衡是一种用于优化资源利用率,最大化吞吐量,减少延迟和确保容错配置的常用技术. 环境介绍 配置nginx负载均衡器因会用到多台服务器来进行,所以下面我会用到docke ...
- iceoryx源码阅读(五)——共享内存通信(三)
目录 1 正常的消息接收流程 1.1 SubscriberImpl::take 1.2 BaseSubscriber<port_t>::takeChunk 1.3 SubscriberPo ...
- 无需等待Vue Release发布,就能在项目中体验最新版
前言 两个月前尤大在Vue 仓库中引入了 pkg.pr.new,有了这个后Vue仓库中的每个commit或者PR都会自动触发一个新的发布,我们就可以在项目中体验最新版本的Vue啦. 关注公众号:[前端 ...
- winform 音乐播放器
引言 本次项目目的主要为了熟悉axWindowsMediaPlayer,treeview等控件使用,以及学习I/O操作. 技术栈 C# winform 实现效果 设计与实现 使用TreeView实现音 ...
- 2024/10/2 CSP-S模拟赛
A 一道映射(下文有可能会说成置换)好题,题面描述太恶心,纯纯傻逼阅读理解. 首先很容易发现后几种操作都是对数列的后两个数进行辗转相减法,所以如果一开始给的后两个数和当前数列的后两个数的\(gcd\) ...
- 关闭 Chrome 浏览器 更新错误 弹窗
1 Chrome使用一段时间后,右上角总会弹出弹窗,并且影响鼠标聚焦,如下图: 2 解决方式: 右键点击 桌面Chrome图表,然后点击属性,按照下图操作: 在 快捷方式--目标 后输入: --di ...