头文件:#include<algorithm>

nth_element:在数组或容器中将第几大或小的元素放到该放的位置上。(默认第几小,可以用cmp自定义为第几大)

如:nth_element(a,a+6,a+10);  //在a中,找到 第七小  将其放到a[6].

但是值得注意的是:a[6]左边、右边的元素不一定有序!!!

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int cmp(int a,int b)
{return a>b;
}
int main()
{vector<int> s;int a[10]={699,3,45,1,-36,20,42,3,7,12};s.push_back(123);s.push_back(32);s.push_back(12);s.push_back(986);s.push_back(36);s.push_back(9856);nth_element(a,a+6,a+10);  //在a中,找到 第七小 for(int i=0;i<10;i++){cout<<a[i]<<" ";}cout<<endl;cout<<"a中第七小:"<<a[6]<<endl;nth_element(a,a+4,a+10,cmp);for(int i=0;i<10;i++){cout<<a[i]<<" ";}cout<<endl;cout<<"a中第5大为:"<<a[4]<<endl;nth_element(s.begin(),s.begin()+2,s.end());//找到第三小,从零开始 for(int i=0;i<s.size();i++){cout<<s[i]<<" ";}cout<<endl;cout<<"s中第3小为:"<<s[2]<<endl;nth_element(s.begin(),s.begin()+3,s.end(),cmp);for(int i=0;i<s.size();i++){cout<<s[i]<<" ";}cout<<endl;cout<<"s中第4大为:"<<s[3]<<endl;return 0;
}

运行结果:

神兵利器 nth_element相关推荐

  1. STL nth_element

    nth_element(first,nth,last) first,last 第一个和最后一个迭代器,也可以直接用数组的位置.  nth,要定位的第nn 个元素,能对它进行随机访问. 将第n_thn_ ...

  2. STL中的nth_element()方法的使用

    STL中的nth_element()方法的使用 通过调用nth_element(start, start+n, end) 方法可以使第n大元素处于第n位置(从0开始,其位置是下标为 n的元素),并且比 ...

  3. 深海中的STL—nth_element

    如果让你求区间第\(k\)大,你会怎么做呢? 主席树?确实是个不错的选择(不过像我这种垃圾还是乖乖打暴力吧) 在c++的stl库中,提供了nth_element这样一个函数 它的用法是nth_elem ...

  4. Arithmetic Sequence 三分,货仓选址,nth_element,__int128(济南)

    题意 : 给一序列,每次操作选择一个数加一或者减一,需要将这个序列变成等差数列,问最小操作数 思路 : 数据范围很大又没有头绪,想到二分或者三分.对于不同的公差d,肯定是只有一个最优,两边的都比这个公 ...

  5. boost::nth_element相关的测试程序

    boost::nth_element相关的测试程序 实现功能 C++实现代码 实现功能 boost::nth_element相关的测试程序 C++实现代码 #include <boost/ran ...

  6. 利用向量叉积求三角形的面积(+STL:nth_element求第K大的数)

    牛客寒假算法集训营2 https://ac.nowcoder.com/acm/contest/327/A A.处女座的签到题 题目描述 平面上有n个点,问:平面上所有三角形面积第k大的三角形的面积是多 ...

  7. nth_element

    1 前言 近期学习K-D Tree,用到了nth_element,然而不是很确定具体的用法 然而,在网上搜索.点了几篇博客要么写的不是很清楚,要么干脆直接是错的 于是这篇博客用来记录我个人对nth_e ...

  8. nth_element(a+1 , a + m, a + n+1);

    1 nth_element(a+1 , a + m, a + n+1); 2 nth_element(first , mth, end); 3 区间[first,end)以第m个数为分界线前面都小,后 ...

  9. android群英传神兵利器pdf,《Android群英传:神兵利器》勘误

    1勘误 一晃,我的新书<Android群英传:神兵利器>上市好多天了,有不少朋友已经拿到书了.本来以为,这次我看了不下十遍,再加上编辑们的校对,应该不会有很多勘误了吧~ 可事实证明,我还是 ...

最新文章

  1. cuda安装教cudnn安装显卡问题
  2. c 获取数据库数据计算机,使用c从单板计算机写入mysql数据库使用c
  3. ubuntu文件、目录操作基本命令
  4. 今天写出一个十分弱智的bug!
  5. SecureCRT鼠标双击或拖成变成Ctrl+C的解决办法
  6. 《我是一只IT小小鸟》
  7. 计算机软件著作权的软件全称,软件著作权名称要求是什么
  8. 计算机之父图灵获英女王赦免
  9. deepin关机卡桌面_有了MyDock,我也有了一个MacBook桌面
  10. C# 自定义鼠标光标
  11. 更多python内容请移步
  12. Oracle在命令行中输入clear,Oracle SQLPlus 常用命令及解释
  13. 语音生成视频论文:Audio-driven Talking Face Video Generation with Learning-based Personalized Head Pose
  14. HEVC/H.265编码原理
  15. 全方位掌握nsis脚本
  16. oracle rac 火星舱_火星高科数据保护技术使火星舱助用户完全解决相关需求
  17. 有限体积法(11)——交错网格
  18. 网易推全球首个公正邮箱 破解电子邮箱出证难
  19. three.js聚光灯SpotLight使用,调整聚光灯颜色、位置、角度、强度、距离、衰减指数、方向、可见性、是否产生阴影属性(vue中使用three.js09)
  20. html标签引入css样式的四种方式

热门文章

  1. 李永乐复习全书线性代数 第六章 二次型
  2. rocket基础知识
  3. redhat Enterprise Linux Server release 7.2(Maipo) 安装redis-stat
  4. 我的梦想是当一个计算机英语,我的梦想英语作文(精选11篇)
  5. 安装Aira2的三种方法(包括一键安装命令,epel源安装,源码安装)
  6. 【el-dialog + video】控制视频弹框的显示与隐藏
  7. xampp 可道云_Windows下用kodexplorer可道云在本地搭建私有云的步骤
  8. SwiftUI 音乐类App之Tuner App 调谐器适用于任何乐器支持木风 黄铜 琴弦 声音
  9. poj1601 青蛙的约会 (扩展欧几里得)
  10. 重视“中心+网格化+信息化”建设,推进城市平稳发展