希尔排序

来源:互联网 发布:python 元组转换字典 编辑:程序博客网 时间:2024/05/17 18:42
# include <stdio.h>void shell_sort(int a[],int len);void shell_insert(int a[],int n,int inc);int main (void){int a[]={13241,654,6321,56,4,1321,65,143,241,651,35,4165,1,651,6541,61,65,165,165,165,64156};shell_sort(a,sizeof(a)/sizeof(a[0]));for (int i=0;i<sizeof(a)/sizeof(a[0]);++i){printf ("%d ",a[i]);}return 0;} void shell_sort(int a[],int len)//希尔排序函数 {int i = len;do{i = i/3 + 1;//对数组进行分组 shell_insert(a,len,i);//调用直接插入排序 }while(i>1);}void shell_insert(int a[],int n,int inc)//直接插入排序 {int i,j;for (i=inc;i<n;++i){for (j=i;j>0 && a[j] < a[j-1];--j){int t = a[j];a[j] = a[j-1];a[j-1] = t;}}}


0 0
原创粉丝点击