插入排序算法学习
插入排序就如同手里放了一堆纸牌,把纸牌从左到右进行排序。
insert_sort(A):
for:j<- 2 to n;(n为数组A的长度)
do key<-A[j];
( insert A[j] into the sorted sequence A[1.....j-1];)
i <- j-1;
while i>0 and A[i]>key
do A[i+1] <- A[i]
i <- i+1
A[i+1] <- key;
#include<iostream> using namespace std; template<class T> void insert_sort(T *a,int n) { for(int i=1;i<n;++i) { T key=a[i]; int j=i-1; while(j>=0&&a[j]>key) { a[j+1]=a[j]; --j; } a[j+1]=key; } } int main() { int a[]={5,2,4,6,1,3}; insert_sort(a,6); for(int i=0;i<6;++i) cout<<a[i]<<" "; }