平台:Ubuntu 12.04/gcc 4.6.7
- 插入排序
#include<vector>
#include <algorithm>
#include<iostream>
using namespace std; template <typename T>
void insertSort(vector<T>& vec){
//vector<T>::iterator ite;
for(auto j=;j<vec.size();j++)
{
T key=vec[j];
int i=j-;
while(i>=&&vec[i]>key)
{
vec[i+]=vec[i];
i--;
}
vec[i+]=key;
}
} template<typename T>
void printVector(const vector<T>& vec)
{
for(auto i=;i<vec.size();i++)
cout<<vec[i]<<" "; cout<<endl;
} int main()
{ //void insertSort(vector<int>& vec);
//void printVector(const vector<int>& vec); vector<int> vec;
for(int i=;i<;i++)
{
vec.push_back(i);
}
printVector(vec);
random_shuffle(vec.begin(),vec.end());
printVector(vec);
insertSort(vec);
printVector(vec); return ;
}运行结果: