插入排序的基本思想:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子数组中的适当位置,直到全部记录插入完成为止。
#include<iostream>
using namespace std;
void insert_sort(int a[],int n)
{
int i,j,temp;
for(i=1;i<n;i++)
{
temp=a[i];
for(j=i-1;j>=0&&temp<a[j];j--)
{
a[j+1]=a[j];
}
a[j+1]=temp;
}
}
void print_array(int a[],int len)
{
for(int i=0;i<len;i++)
{
cout<<a[i]<<""<<endl;
}
cout<<endl;
}
int main(void)
{
int a[]={7,3,2,8,1,5,6,4,7};
cout<<"before insert sort"<<endl;
print_array(a,9);
insert_sort(a,9);
cout<<"after insert sort"<<endl;
print_array(a,9);
return 0;
}