每天一个小算法(Shell Sort3)
2014-09-28 00:02
399 查看
希尔算法自己编了一个,循环很多,很不美观,不过运行正确:
c语言实现:
运行结果:
![](http://img.blog.csdn.net/20140928000446328?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbHZjaGFocA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
明天任务:
好好思考希尔排序的实现;想一想如何优化比较好。
c语言实现:
#include <stdio.h> #include <stdlib.h> #define LEN 20 int main() { int d,i,j,k; int arr[]={20,19,16,17,11,12,13,18,14,15,10,9,8,7,6,5,4,3,2,1}; int key; for(d=LEN/2;d>0;d--) for(i=0;i<d;i++) for(j=i+d;j<LEN;j=j+d) { k=j; key=arr[j]; while(k>0 && arr[k-d]>key) { arr[k]=arr[k-d]; k=k-d; } arr[k]=key; } for(i=0;i<LEN;i++) printf("%d\n",arr[i]); }
运行结果:
明天任务:
好好思考希尔排序的实现;想一想如何优化比较好。
相关文章推荐
- 每天一个小算法(Shell Sort1)
- 每天一个小算法(Shell sort5)
- 每天一个小算法(Shell Sort2)
- 每天一个小算法(Shell Sort3)
- 每天一个小算法(Shell Sort4)
- 每天一个小算法(Shell sort5)
- 每天一个小算法(Shell Sort2)
- 每天一个小算法(Shell Sort1)
- 每天一个小算法(Heapsort)
- 每天一个小算法(Heapsort)
- 每天一个小算法(Heapsort)
- 每天一个小算法(Heapsort)
- 每天一个小算法(Heapsort)
- 每天一个小算法(Heapsort)
- 每天一个小算法(insertion sort3)
- 每天一个小算法(insertion sort3)
- 每天一个小算法(Heapsort)
- 每天一个小算法(Heapsort)
- 每天一个小算法(Heapsort)
- 每天一个小算法(Heapsort)