阅读背景:

希尔排序算法和快速排序算法

来源:互联网 

希尔排序源代码如下:

#include <stdio.h>  
//希尔排序 
void shellSort(int a[],int l, int r){  //一次排序同一步长所组成的集合 如a[0],a[5],a[10]... 
	int i,j,h;
	for(h=1;h<=(r-1)/9;h=3*h+1); //设置步长为1,4,13,40,121,...序列 
	for( ; h>0;h/=3)
		for(i=h;i<=r;i++){
			int j = i;int v = a[i];
			while(j>=h && v<a[j-h]){
				a[j] = a[j-h];j-=h;
			}
			a[j] = v;
		} 
} 
main(){
	int b[16] = {10,7,12,25,8,9,11,71,82,90,1,14,99,7,456,1};
	int length = sizeof(b)/sizeof(b[0]);
	shellSort(b,0,length-1);
	int i;
	for(i=0;i<length;i++)
		printf("%d ",b[i]);
} #include <stdio.h>  
//希尔排序 
vo



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: