原理
partial_sort函数模型:
// partial_sort(first,middle,end);
//从first到end进行排序,前first到middle前不变,从middle到end倒序排列
/* 默认的谓语为less<int>--从小到大
从first到middle的前一个元素先排序,排序后的序列记作l1(l1.length=first到middle前一个元素数目),
然后从middle到end开始的每一个元素ai,
和l1中最大的元素b比较, ——————1
若ai较小,则互换ai,b的位置 ——————2
接着重新按照谓语给l1排序,重置b ——————3
接着比较ai位置的元素,重复步骤1、2、3,直到ai位置上元素大于b
开始比较ai+1位置的元素,重复1、2、3
第end位置上的元素完成后,patial_sort排序完成
例子
#include<iostream>
#include<vector>
#include<string.h>
#include<algorithm>
using namespace std;
void Out(const string &a)
{
cout<<a<<" ";
}
int main(int argc, char *argv[])
{
vector<string>strV;
int j=1;
strV.push_back("Sunday");
strV.push_back("Monday");
strV.push_back("Tueaday");
strV.push_back("Wednesday");
strV.push_back("Thursd