C++中的partial_sort函数如何使用

tiankongzhiying tiankongzhiying 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
msdn中的例子,但是我不理解它部分排序时如何得出这个结果的.希望达人指点一下,不需要描述这个函数的实现过程,只需要告诉我这个函数是怎么用的,因为我不知道这个例子经过这个函数为什么得出这个结果.谢谢
#include <iostream>
#include <algorithm>
#include <functional>
#include <vector>

using namespace std ;

void main()
{
const int VECTOR_SIZE = 8 ;

// Define a template class vector of int
typedef vector<int> IntVector ;

//Define an iterator for template class vector of strings
typedef IntVector::iterator IntVectorIt ;

IntVector Numbers(VECTOR_SIZE) ;

IntVectorIt start, end, it ;

// Initialize vector Numbers
Numbers[0] = 4 ;
Numbers[1] = 10;
Numbers[2] = 70 ;
Numbers[3] = 30 ;
Numbers[4] = 10;
Numbers[5] = 69 ;
Numbers[6] = 96 ;
Numbers[7] = 7;

start = Numbers.begin() ; // location of first
// element of Numbers

end = Numbers.end() ; // one past the location
// last element of Numbers

cout << "Before calling partial_sort\n" << endl ;

// print content of Numbers
cout << "Numbers { " ;
for(it = start; it != end; it++)
cout << *it << " " ;
cout << " }\n" << endl ;

// sort the smallest 4 elements in the sequence
partial_sort(start, start+4, end, less<int>()) ;

cout << "After calling partial_sort\n" << endl ;

cout << "Numbers { " ;
for(it = start; it != end; it++)
cout << *it << " " ;
cout << " }\n" << endl ;
}


Program Output is:

Before calling partial_sort

Numbers { 4 10 70 30 10 69 96 7 }

After calling partial_sort

Numbers { 4 7 10 10 70 69 96 30 }

...全文

相关推荐

Algorithm-cpp-sort.zip

Algorithm-cpp-sort.zip,C 14的排序算法及相关工具,算法是为计算机程序高效、彻底地完成任务而创建的一组详细的准则。

weixin_38744153

c++STK库partial_sort函数分析

原理 partial_sort函数模型: // partial_sort(first,middle,end); //从first到end进行排序,前first到middle前不变,从middle到end倒序排列 /* 默认的谓语为less&lt;int&gt;--从小到大 从first到middle的前一个元素先排序,排序后的序列记作l1(l1.length=first到middle前一...

qq_43397268

C++中的boost::partial_sort函数及其测试程序

在上述示例中,我们使用了boost::partial_sort函数来对numbers容器中的前5个元素进行排序。函数调用的第一个参数是待排序的容器,第二个参数是排序的起始位置,第三个参数是排序的结束位置。在本例中,我们将numbers.begin() + 5作为起始位置,即从第6个元素开始排序,将numbers.end()作为结束位置,表示对整个容器进行排序。boost::partial_sort函数的功能是将容器中的前N个元素进行排序,使其成为升序或降序排列。

技术探宝

C++ sort函数用法详解[代码]

本文详细介绍了C++中sort函数的用法,包括其基于快速排序的特性、不稳定性以及在不同场景下的应用。文章还对比了sort与其他排序函数如stable_sort、partial_sort等的区别,并提供了cmp函数的构造方法,包括升序和降序的实现。此外,文章还展示了如何对结构体进行排序,并通过具体示例(如洛谷P1104和P5740题目)演示了sort函数在实际问题中的应用。最后,文章强调了stable_sort在需要保持相等元素相对位置时的优势。

kiwi8

sTL解说 sTL解说 sTL解说 sTL解说 sTL解说 sTL解说

sTL解说 sTL解说 sTL解说 sTL解说 sTL解说 sTL解说

Augusdi
评论 4
收藏 已收藏
分享
返回顶部
tiankongzhiying
C++ 语言 65,214 成员 250,514 内容