希尔排序解决思路
希尔排序现在有一个数组,int a[]{1,5,2,0,69},帮我用希尔排序的方式将其排序,谁能帮我写一个函数呢书上的
希尔排序
现在有一个数组,int a[]={1,5,2,0,69},帮我用希尔排序的方式将其排序,谁能帮我写一个函数呢
书上的好像看不懂
[解决办法]
C/C++ code#include<stdio.h>void main(){ int a[]={1,5,2,0,69},i; void ShellSort(int a[],int n); int n=sizeof(a)/sizeof(a[0]); ShellSort(a,n); for(i=0;i<n;i++) { printf("%d ",a[i]); }}void ShellSort(int a[],int n){ int gap= n/2,t,i,j; while(gap>0) { for(i=gap;i<n;i++) { t = a[i]; j = i - gap; while(j >= 0 && t < a[j]) { a[j + gap] = a[j]; j = j - gap; } a[j + gap] = t; } gap/=2; }}
[解决办法]
楼主,你能说你程序是怎么 排序的 吗
[解决办法]
楼主,你根据增量分组之后 的 直接插入排序 写的不对 吧
[解决办法]
http://baike.baidu.com/view/178698.htm
楼主看下这里面的,写的很详细啊,你看看。。
[解决办法]
谢啦,看了这帖子懂了希尔算法。楼主加油哦
[解决办法]