insert sort 插入排序

#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



posted on 2015-07-06 19:53  立顿经典醇  阅读(84)  评论(0)    收藏  举报

导航