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算法的使用的更多相关文章

  1. STL源码分析----神奇的 list 的 sort 算法实现

    STL中有一个std::sort算法,但它是不支持std::list的,因为list不提供RandomIterator的支持,但list自己提供了sort算法,把list的元素按从小到大的方式来排序, ...

  2. 快速排序及STL中的sort算法

    快速排序基本思想是,对待排序序列进行划分(Partition),一次划分,选择一个元素作为枢轴,然后将所有比枢轴小的元素放到枢轴的左边,将比枢轴大的元素放到枢轴的右边.然后对该枢轴划分的左右子序列分别 ...

  3. 【决战西二旗】|理解Sort算法

    前言 前面两篇文章介绍了快速排序的基础知识和优化方向,今天来看一下STL中的sort算法的底层实现和代码技巧. 众所周知STL是借助于模板化来支撑数据结构和算法的通用化,通用化对于C++使用者来说已经 ...

  4. 地精排序(Gnome Sort) 算法

    gnome应该是最简单排序的排序算法吧!Gnome Sort,这是该算法的作者命名的,O(n*n)时间复杂度,O(1)空间复杂度,属于稳定的排序算法.算法的思想是每趟循环找到第一个逆序的元素,把它和在 ...

  5. 排序算法| Array.sort()算法规则

    1.js的Array.sort()是使用什么算法排序: 1.火狐中是“归并排序” 2.V8引擎是 “插入排序和快速排序结合”.数组长度不超过10时,使用插入排序.长度超过10使用快速排序.在数组较短时 ...

  6. 转载 从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法

    转载自:http://www.cnblogs.com/cj695/p/3863142.html sort函数在使用中非常好用,也非常简单,而且效率与冒泡或者选择排序不是一个数量级.本文就sort函数在 ...

  7. V8 引擎的sort算法

    用的是快速排序,有点小问题 function ArraySort(comparefn) { // In-place QuickSort algorithm. // For short (length ...

  8. 【转】 从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法

    sort函数在使用中非常好用,也非常简单,而且效率与冒泡或者选择排序不是一个数量级.本文就sort函数在vector中的用法分为sort函数入门用法与自定义comp比较函数比较结构体这两个最基本的功能 ...

  9. 从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法

    sort函数在使用中非常好用,也非常简单,而且效率与冒泡或者选择排序不是一个数量级.本文就sort函数在vector中的用法分为sort函数入门用法与自定义comp比较函数比较结构体这两个最基本的功能 ...

  10. 【C++】从最简单的vector中sort用法到自定义比较函数comp后对结构体排序的sort算法

    sort函数在使用中非常好用,也非常简单,而且效率与冒泡或者选择排序不是一个数量级.本文就sort函数在vector中的用法分为sort函数入门用法与自定义comp比较函数比较结构体这两个最基本的功能 ...

随机推荐

  1. 记一次Razor Pages无法编译问题及解决

    解决方案写在前面:更新Visual Studio及相关组件,本人版本自17.8.0更新至17.11.4 缘起于公司的一个业务接口,在有一些信息需要在应用内嵌的webview中展示,信息不少,涉及的前端 ...

  2. nginx服务器下laravel项目无法访问

    nginx服务器下laravel项目无法访问 后台用的nginx服务器,之前在本地开发项目时用的apache服务器,没想到切换到线上访问时除了首页一直显示404的错误,网页无法访问,网上搜索发现是ng ...

  3. excel江湖异闻录--Klaus

    最开始接触数组公式,是偶然在公众号看到"看见星光"大佬的一个提取混合文本中电话号码的公式,记得当时大佬是用vlookup解的这题,当时完全不能理解,mid中第二参数为什么是个row ...

  4. mmap映射类型

    文件映射和匿名映射都是操作系统中对于内存映射的两种类型,主要应用于进程间的通信或者大量数据的处理. 文件映射,也就是内存映射文件,是把一个文件或者文件的一部分映射到进程的地址空间,它允许对文件进行随机 ...

  5. 07 - react 唯一修改state状态的方式 setState

    // setState 修改状态 如果是直接修改页面不会改变 使用 setState 修改数据 才会驱动视图的改变 // setState 的原理:修改玩状态之后会调用 render 函数 impor ...

  6. (系列七).net8 Aop切面编程

    说明 该文章是属于OverallAuth2.0系列文章,每周更新一篇该系列文章(从0到1完成系统开发). 该系统文章,我会尽量说的非常详细,做到不管新手.老手都能看懂. 说明:OverallAuth2 ...

  7. Eclipse中缓存清理

    (1)点击tomcat服务器,右键"clean-": (2)删除servers的tomcat服务器下的项目: 控制台显示"Servers窗口":菜单栏--Win ...

  8. 数据分析(matplotlib pyplot)

    文章目录 1.导入pyplot 库 2.绘出直线图 3.绘出实心点 4.绘出折线图 5.绘制正余弦函数 Pyplot 是 Matplotlib 的子库,提供了和 MATLAB 类似的绘图 API. P ...

  9. Diffuision Policy + RL -------个人博客_ZSY_20241101

    Diffusion Policy: Visuomotor Policy Learning via Action Diffusion Cheng Chi, Zhenjia Xu, Siyuan Feng ...

  10. 关于如何更改Cuda的版本的一些事情

    1. 网上说的很全面了,这里我把我遇到的一些问题和解决方案罗列出来,以便未来的学习和了解. 博客的好处就体现出来了,下次你再用这个东西,就直接打开你的博客照抄就行了,不用东搜西搜了,及其方便,这种碎片 ...