标签:希尔排序算法
#include<stdio.h>#define max 100 //数组大小void shellsort(int *a,int n) { int delta,i,j; for(delta=n/2;delta>0;delta/=2) { for(i=delta;i<n;i++) { int temp=a[i]; for(j=i-delta;j>=0;j-=delta) { if(temp<a[j])a[j+delta]=a[j]; else break; } a[j+delta]=temp; } } }//输出排序之后的数据序列void print(int *a,int n) { int i; for(i=0;i<n;i++) { printf("%d ",a[i]); } printf("\n"); }//主函数int main() { int a[max]; int n;//输入的数据个数 scanf("%d",&n); int i; for(i=0;i<n;i++) scanf("%d",&a[i]); shellsort(a,n); print(a,n); return 0; } 运行结果如下:
本文出自 “桑海田 博客专栏” 博客,请务必保留此出处http://10602803.blog.51cto.com/10592803/1682973
标签:希尔排序算法
原文地址:http://10602803.blog.51cto.com/10592803/1682973