首页 > 代码库 > 插入排序的简单实现
插入排序的简单实现
最简单的排序算法了,每一次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 }
执行结果:
插入排序的简单实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。