希尔排序
来源:互联网 发布:氵淘宝网天猫商城 编辑:程序博客网 时间:2024/04/28 20:38
希尔排序是一个很难理解的排序,它是插入排序的一种表现形式。希尔排序是一种高效的排序,它将数据排成接近升序,在按插入排序,这样的排序很高效。
第一种代码实现是用一个do….while 循环;
第二种用两个while循环;
void display (int *a, int len){ int i; for (i = 0; i < len; i++) printf("%4d", a[i]); printf ("\n");}int main(){ int a[10] = {5,6,7,8,9,0,34,1,3,2}; int len = sizeof(a)/sizeof(s[0]); int i,j,get; int d = len; //d代表每一次的步长 do { d = d/3 + 1; for (i = d; i < len; i++) { for (i = d; i < len; i++) { get = a[i]; j = j - d; } a[j+d] = get; } }wwhile (d > 1); display (a, len); return 0;}
int main (){ int a[10] = {5,6,7,8,9,0,34,1,3,2}; int len = sizeof(a) / szieof(a[0]); int i,j,get; int d = 0; //代表每一步的步长 while (d < len) { d = d * 3 +1; // 0 1 4 13 } while (d >= 1) { for (i = d; i < len; i++) { get = a[i]; j = j - d; while (j >= 0 && a[j] > get) { a[j+d] = a[j]; j -= d; } a[j+d] = get; } d = (d-1) / 3; //4 1 0 } display (a, len); return 0;}
阅读全文
0 0
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- 希尔排序
- C与C++中const的比较
- 什么是指针?
- C语言树的建立
- 找合法帧
- 2017 Multi-University Training Contest
- 希尔排序
- 强大的图表制作,前端数据可视化,echarts
- MA8601替代FE1.1的优势|HUB方案|旺久一级代理|MA8601现货|MA8601方案
- 腾讯超级会员开通记
- Scikit-Learn各算法详细参数速查手册(中文)
- 如何读一个完整的大数据
- 把一个用阿拉伯数字表示的正整数转换成汉字大写表示
- 小米云的手机数据备份和恢复数据使用教程
- make: *** [ssh2.lo] Error 1