函数原型是这样的partial_sort(first,middle,last).C++编程宝典上是这样解释的:对迭代器first和last所指定范围中的元素进行偏序排序.经过排序的元素放到序列的前面部分,其余元素放到迭代器middle和last指定的范围内.书上并且提供了一个例子,
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
////////////////////////////////////////
// The function to be called by
// for_each().
////////////////////////////////////////
void show_val(string val)
{
std::cout << val << std::endl;
}
////////////////////////////////////////
// The main() function.
////////////////////////////////////////
int main()
{
// Create the vector object.
std::vector<string> strVector;
// Populate the vector with values.
strVector.push_back("Zebra");
strVector.push_back("Deer");
strVector.push_back("Fish");
strVector.push_back("Snake");
strVector.push_back("Bat");
strVector.push_back("Cat");
strVector.push_back("Bird");
strVector.push_back("Turtle");
strVector.push_back("Horse");
strVector.push_back("Cow");
// Display the contents of the vector.
std::cout << "Contents of vector: " << std::endl;
for_each(strVector.begin(), strVector.end(), show_val);
std::cout << std::endl;
// Sort the vector.
partial_sort(strVector.begin(),
strVector.begin() + 5, strVector.end());
// Display the contents of the new vector.
std::cout << "Contents of vector: " << std::endl;
for_each(strVector.begin(), strVector.end(), show_val);
return 0;
}
运行结果是这样的:
contents of vector:
zebra
deer
fish
snake
bat
cat
bird
turtle
horse
cow
contents of vectors:
bat
bird
cat
cow
deer
zebra
snake
turtle
horse
fish
收到一只叮咚
慕雪6442864
相关分类