博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
STL之nth_element()(取容器中的第n大值)
阅读量:4708 次
发布时间:2019-06-10

本文共 1211 字,大约阅读时间需要 4 分钟。

 nth_element仅排序第n个元素(从0开始索引),即将位置n(从0开始)的元素放在第n大的位置,处理完之后,默认排在它前面的元素都不比它大,排在它后面的元素都不比它小。

1 #include
2 #include
3 using namespace std; 4 int main() 5 { 6 int a[] = { 1,3,4,15,2,6,8,7,9 }; 7 int i; 8 cout << "数列例如以下:" << endl; 9 for (i = 0; i<9; i++)10 cout << a[i] << " ";11 nth_element(a, a + 5, a + 6);12 cout << endl << "输出第五大的数: " << a[4] << endl; //注意下标是从0開始计数的 13 return 0;14 }

运行结果:

 

1 #include
2 #include
3 using namespace std; 4 int main() 5 { 6 //int a[] = { 1,3,4,15,2,6,8,7,9 }; 7 //int i; 8 //cout << "数列例如以下:" << endl; 9 //for (i = 0; i<9; i++)10 // cout << a[i] << " ";11 //nth_element(a, a + 5, a + 6);12 //cout << endl << "输出第五大的数: " << a[4] << endl; //注意下标是从0開始计数的 13 14 int a[10];15 for (int i = 0; i<10; ++i) {16 a[i] = i;17 }18 random_shuffle(a, a + 10);19 for (int i = 0; i<10; ++i) std::cout << a[i] << ' '; std::cout << '\n';20 nth_element(a, a + 6, a + 10);21 for (int i = 0; i<10; ++i) std::cout << a[i] << ' '; std::cout << '\n';22 23 return 0;24 }

转载于:https://www.cnblogs.com/thebreakofdawn/p/9609122.html

你可能感兴趣的文章
NYOJ--32--SEARCH--组合数
查看>>
gulpfile 压缩模板
查看>>
【34.14%】【BZOJ 3110】 [Zjoi2013]K大数查询
查看>>
【 henuacm2016级暑期训练-动态规划专题 A 】Cards
查看>>
第五篇:白话tornado源码之褪去模板的外衣
查看>>
设备常用框架framework
查看>>
bootstrap模态框和select2合用时input无法获取焦点(转)
查看>>
MockObject
查看>>
BZOJ4516: [Sdoi2016]生成魔咒(后缀自动机)
查看>>
查看手机已经记住的WIFI密码
查看>>
最新版IntelliJ IDEA2019 破解教程(2019.08.07-情人节更新)
查看>>
C# 两个datatable中的数据快速比较返回交集或差集
查看>>
关于oracle样例数据库emp、dept、salgrade的mysql脚本复杂查询分析
查看>>
adb shell am 的用法
查看>>
iOS10 UI教程视图和子视图的可见性
查看>>
FindChildControl与FindComponent
查看>>
中国城市json
查看>>
android下载手动下载Android SDK
查看>>
C++学习:任意合法状态下汉诺塔的移动(原创)
查看>>
leetcode133 - Clone Graph - medium
查看>>