首页 > 代码库 > 算法导论学习笔记1---排序算法(平台:gcc 4.6.7)

算法导论学习笔记1---排序算法(平台:gcc 4.6.7)

平台:Ubuntu 12.04/gcc 4.6.7

  1. 插入排序
     1 #include<vector> 2 #include <algorithm> 3 #include<iostream> 4 using namespace std; 5  6 template <typename T> 7 void insertSort(vector<T>& vec){ 8     //vector<T>::iterator ite; 9     for(auto j=1;j<vec.size();j++)10     {11         T key=vec[j];12         int i=j-1;13         while(i>=0&&vec[i]>key)14         {15             vec[i+1]=vec[i];16             i--;17         }18         vec[i+1]=key;19     }20 }21 22 template<typename T>23 void printVector(const vector<T>& vec)24 {25     for(auto i=0;i<vec.size();i++)26     cout<<vec[i]<<" ";27 28     cout<<endl;29 }30 31 int main()32 {33     34     //void insertSort(vector<int>& vec);35     //void printVector(const vector<int>& vec);36 37     vector<int> vec;38     for(int i=10;i<20;i++)39     {40         vec.push_back(i);41     }42     printVector(vec);43     random_shuffle(vec.begin(),vec.end());44     printVector(vec);45     insertSort(vec);46     printVector(vec);47 48     return 0;49 }
    View Code

     运行结果:

    1.  

  2.  

算法导论学习笔记1---排序算法(平台:gcc 4.6.7)