插入排序算法学习
插入排序就如同手里放了一堆纸牌,把纸牌从左到右进行排序。
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]<<" ";
}

浙公网安备 33010602011771号