插入排序的简单实现

来源:互联网 发布:简单的java代码 编辑:程序博客网 时间:2024/05/16 18:50

最简单的排序算法了,每一次j--到对应的值,不会减到0,这个纠结我好久

复制代码
 1 #include "stdafx.h" 2 #include <iostream> 3 #include <vector> 4 using namespace std; 5  6 template <typename Comparable> 7 void insertionSort(vector<Comparable> & a) 8 { 9     int j;10     for(int p=1 ; p<a.size() ; p++)11     {12         Comparable tmp = a[p];13         for(j=p ; j>0 && tmp<a[j-1] ; j--)14             a[j] = a[j-1];15         a[j] = tmp;16     }17 }18 int _tmain(int argc, _TCHAR* argv[])19 {20     vector<int> ivec;21     ivec.push_back(34);22     ivec.push_back(8);23     ivec.push_back(64);24     ivec.push_back(51);25     ivec.push_back(32);26     ivec.push_back(21);27     insertionSort(ivec);28     for(int i=0 ; i<ivec.size() ; i++)29         cout<<ivec[i]<<endl;30     return 0;31 }
复制代码

执行结果:

原创粉丝点击