基本的排序算法之——插入排序法(稳定)(对于固定的空间数组或者顺序表)

来源:互联网 发布:服务器开放端口查看 编辑:程序博客网 时间:2024/05/26 19:17

/**********************************************************************  * 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;}


1 0
原创粉丝点击