标签:
/********************************************************************** * Copyright (c)2015,WK Studios * Filename: * Compiler: GCC,VS,VC6.0 win32 * Author:WK * Time: 2015 4 20 ************************************************************************/ #include<stdio.h> #include<assert.h> void Insert_Sort(int *a,int n) { assert(a!=NULL&&n>0); for(int i=1;i<n;i++)//从第二个数字开始与第一个比较 { int temp=a[i]; int j=i; while(j>0 && a[j-1]>temp)//这里如果是a[j-1]>=temp就会多移一次,这种情况被a[j-1]>temp覆盖了 { a[j]=a[j-1];//在尾部进行数据后移 j--; }//腾出位置准备插入 a[j]=temp;//插入数据放入位置 } } int main() { int a[]={1,5,4,7,9,8,3,2,6}; Insert_Sort(a,sizeof(a)/sizeof(a[0])); for(int i=0;i<sizeof(a)/sizeof(a[0]);i++) { printf("%d ",a[i]); } return 0; }
基本的排序算法之——插入排序法(对于固定的空间数组或者顺序表)(
标签:
原文地址:http://blog.csdn.net/kai8wei/article/details/45174691