STL中的nth_element()方法的使用
时间:2022-05-07
本文章向大家介绍STL中的nth_element()方法的使用,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
STL中的nth_element()方法的使用 通过调用nth_element(start, start+n, end) 方法可以使第n大元素处于第n位置(从0开始,其位置是下标为 n的元素),并且比这个元素小的元素都排在这个元素之前,比这个元素大的元素都排在这个元素之后,但不能保证他们是有序的,下面是这个方法的具体使用方法.
1 #include <iostream>
2
3 #include <algorithm>
4
5 #include <functional>
6
7 #include <vector>
8
9 using namespace std;
10
11
12
13 int main()
14
15 {
16
17 const int VECTOR_SIZE = 50 ;
18
19
20
21 vector<int> Numbers(VECTOR_SIZE) ;
22
23
24
25 vector<int>::iterator start, end, it ;
26
27
28
29 // Initialize vector Numbers
30
31 for(int i=0;i<50;++i){
32
33 Numbers[i]=i;
34
35 }
36
37 /*由于赋值时是有序的,下面random_shuffle()方法将这些数据的顺序打乱*/
38
39 random_shuffle(Numbers.begin(),Numbers.end());
40
41
42
43 // location of first element of Numbers
44
45 start = Numbers.begin() ;
46
47
48
49 // one past the location last element of Numbers
50
51 end = Numbers.end() ;
52
53
54
55 cout << "Before calling nth_element/n" << endl ;
56
57
58
59 // print content of Numbers
60
61 cout << "Numbers { " ;
62
63 for(it = start; it != end; it++)
64
65 cout << *it << " " ;
66
67 cout << " }/n" << endl ;
68
69
70
71 /*
72
73 * partition the elements by the 8th element,
74
75 *(notice that 0th is the first element)
76
77 */
78
79 nth_element(start, start+8, end) ;
80
81
82
83 cout << "After calling nth_element/n" << endl ;
84
85
86
87 cout << "Numbers { " ;
88
89 for(it = start; it != end; it++)
90
91 cout << *it << " " ;
92
93 cout << " }/n" << endl ;
94
95 system("pause");
96
97 }
- mstsc 远程序桌面登录的 c#开发
- 突然顿悟的Javascript中的this
- 解决Electron加载带jquery的项目报错问题
- dedecms利用addfields body在首页调用文章内容
- 如何设置dedecms自定义表单必填项?
- 如何用<dl>标签做表格而不用table标签
- Gulp使用指南
- Gulp Error: Cannot find module 'jshint/src/cli'
- 自学如何使用Python和Keras构建你自己专属的AlphaZero系统
- 用Visual Studio Code写Node.j
- 帝国CMS搜索页伪静态实现方法
- 5步搭建GO环境
- 你真的了解如何将 Nginx 配置为Web服务器吗
- 12个JavaScript技巧
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法