神兵利器 nth_element
头文件:#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相关推荐
- STL nth_element
nth_element(first,nth,last) first,last 第一个和最后一个迭代器,也可以直接用数组的位置. nth,要定位的第nn 个元素,能对它进行随机访问. 将第n_thn_ ...
- STL中的nth_element()方法的使用
STL中的nth_element()方法的使用 通过调用nth_element(start, start+n, end) 方法可以使第n大元素处于第n位置(从0开始,其位置是下标为 n的元素),并且比 ...
- 深海中的STL—nth_element
如果让你求区间第\(k\)大,你会怎么做呢? 主席树?确实是个不错的选择(不过像我这种垃圾还是乖乖打暴力吧) 在c++的stl库中,提供了nth_element这样一个函数 它的用法是nth_elem ...
- Arithmetic Sequence 三分,货仓选址,nth_element,__int128(济南)
题意 : 给一序列,每次操作选择一个数加一或者减一,需要将这个序列变成等差数列,问最小操作数 思路 : 数据范围很大又没有头绪,想到二分或者三分.对于不同的公差d,肯定是只有一个最优,两边的都比这个公 ...
- boost::nth_element相关的测试程序
boost::nth_element相关的测试程序 实现功能 C++实现代码 实现功能 boost::nth_element相关的测试程序 C++实现代码 #include <boost/ran ...
- 利用向量叉积求三角形的面积(+STL:nth_element求第K大的数)
牛客寒假算法集训营2 https://ac.nowcoder.com/acm/contest/327/A A.处女座的签到题 题目描述 平面上有n个点,问:平面上所有三角形面积第k大的三角形的面积是多 ...
- nth_element
1 前言 近期学习K-D Tree,用到了nth_element,然而不是很确定具体的用法 然而,在网上搜索.点了几篇博客要么写的不是很清楚,要么干脆直接是错的 于是这篇博客用来记录我个人对nth_e ...
- 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个数为分界线前面都小,后 ...
- android群英传神兵利器pdf,《Android群英传:神兵利器》勘误
1勘误 一晃,我的新书<Android群英传:神兵利器>上市好多天了,有不少朋友已经拿到书了.本来以为,这次我看了不下十遍,再加上编辑们的校对,应该不会有很多勘误了吧~ 可事实证明,我还是 ...
最新文章
- cuda安装教cudnn安装显卡问题
- c 获取数据库数据计算机,使用c从单板计算机写入mysql数据库使用c
- ubuntu文件、目录操作基本命令
- 今天写出一个十分弱智的bug!
- SecureCRT鼠标双击或拖成变成Ctrl+C的解决办法
- 《我是一只IT小小鸟》
- 计算机软件著作权的软件全称,软件著作权名称要求是什么
- 计算机之父图灵获英女王赦免
- deepin关机卡桌面_有了MyDock,我也有了一个MacBook桌面
- C# 自定义鼠标光标
- 更多python内容请移步
- Oracle在命令行中输入clear,Oracle SQLPlus 常用命令及解释
- 语音生成视频论文:Audio-driven Talking Face Video Generation with Learning-based Personalized Head Pose
- HEVC/H.265编码原理
- 全方位掌握nsis脚本
- oracle rac 火星舱_火星高科数据保护技术使火星舱助用户完全解决相关需求
- 有限体积法(11)——交错网格
- 网易推全球首个公正邮箱 破解电子邮箱出证难
- three.js聚光灯SpotLight使用,调整聚光灯颜色、位置、角度、强度、距离、衰减指数、方向、可见性、是否产生阴影属性(vue中使用three.js09)
- html标签引入css样式的四种方式
热门文章
- 李永乐复习全书线性代数 第六章 二次型
- rocket基础知识
- redhat Enterprise Linux Server release 7.2(Maipo) 安装redis-stat
- 我的梦想是当一个计算机英语,我的梦想英语作文(精选11篇)
- 安装Aira2的三种方法(包括一键安装命令,epel源安装,源码安装)
- 【el-dialog + video】控制视频弹框的显示与隐藏
- xampp 可道云_Windows下用kodexplorer可道云在本地搭建私有云的步骤
- SwiftUI 音乐类App之Tuner App 调谐器适用于任何乐器支持木风 黄铜 琴弦 声音
- poj1601 青蛙的约会 (扩展欧几里得)
- 重视“中心+网格化+信息化”建设,推进城市平稳发展