#pragma once
#include <algorithm>
#include <list>
template<typename T>
void InsertSort(list<T>& container)
{
std::list<T>::iterator it_min = container.begin();
std::list<T>::iterator it_temp;
std::list<T>::iterator it_test;
std::list<T>::iterator it_end = it_min;
it_end++; it_end++;
while (it_end != container.end())
{
it_temp = it_min;
it_test = it_min;
it_test++;
it_end = it_min;
it_end++; it_end++;
while (it_test != container.end())
{
if (*it_test < *it_temp)
{
it_temp = it_test;
}
it_test++;
}
swap(*it_min, *it_temp);
it_min++;
}
}//InsertSort
insert sort 插入排序
原文:http://www.cnblogs.com/ssy-zju/p/4625218.html