std::inplace_merge 是将一个前半部分有序且后半部分也有序得一个序列。重新排序成一个整体有序得序列:
譬如:
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
std::vector<int> num = { 5,6,9,12,4,7,18,20 };
std::inplace_merge(num.begin(), num.begin() + 4, num.end());
std::for_each(num.begin(), num.end(), [](int i)
{
std::cout << i << " " << std::endl;
});
return 0;
}
输出结果:
4 5 6 7 9 12 18 20