C语言——希尔排序

来源:互联网 发布:人工智能图像理解 编辑:程序博客网 时间:2024/06/07 17:11
#include <stdio.h>#define N 10void swap (int a[],int i,int j){int temp = a[i];a[i] = a[j];a[j] = temp;}void printA(int *a,int len){int i;for (i = 0;i < len ;i++){printf ("%4d",a[i]);}printf ("\n");}

//希尔排序int main(){int a[N] = {1,2,3,4,5,6,7,8,9,0};int len = sizeof(a)/sizeof(a[0]);int i ,j ,get;int d = len;do{d = d / 3 + 1;for (i = d; i < len; i++){get = a[i];j= i - d;while (j >= 0 && a[j] > get){a[j+d] = a[j];j = j - d;}a[j+d] = get;}}while(d > 1);printA(a,len);return 0;}

原创粉丝点击