希尔排序:

伪代码:

input: an array a of length n with array elements numbered 0 to n − 1
inc ← round(n/2)
while inc > 0 do:
for i = inc .. n − 1 do:
temp ← a[i]
j ← i
while j ≥ inc and a[j − inc] > temp do:
a[j] ← a[j − inc]
j ← j − inc
a[j] ← temp
inc ← round(inc / 2)

C语言实现:

#include <stdio.h>
#include <stdlib.h>
#define LEN 10 int main()
{
int i, j, temp;
int gap = 0;
int a[] = {10,9,8,7,6,5,4,3,2,1};
while (gap<=LEN)
{
gap = gap * 3 + 1;
}
while (gap > 0)
{
for ( i = gap; i < LEN; i++ )
{
j = i - gap;
temp = a[i];
while (( j >= 0 ) && ( a[j] > temp ))
{
a[j + gap] = a[j];
j = j - gap;
}
a[j+gap] = temp;
}
gap = ( gap - 1 ) / 3;
}
for(i=0;i<LEN;i++)
{
printf("%d\n",a[i]);
}
}
												

最新文章

  1. AOPR软件最小化消失了
  2. FlippingBook使用教程
  3. hadoop实战之分布式模式
  4. dubbo源码之四——服务发布二
  5. codeforces 6A. Triangle
  6. js获取前之前或之后的日期
  7. Effective Java 第三版——22. 接口仅用来定义类型
  8. daily english dictation 学习笔记[1-10]
  9. 开源在线分析诊断工具Arthas(阿尔萨斯)--总结
  10. MongoDB查询内嵌数组(限定返回符合条件的数组中的数据)(1)
  11. Android学习之基础知识五—创建自定义控件
  12. C++11 正则表达式——基础知识介绍
  13. 【整理】HTML5游戏开发学习笔记(4)- 记忆力游戏
  14. zabbix3.0 安装时出现PHP Parse error: syntax error
  15. C# 从Excel 批量导入数据库
  16. Mysql数据库 day1
  17. 百度地图经纬度批量查找功能XGeocoding使用手册
  18. Android C/C++ 开发
  19. Nginx(二):虚拟主机配置
  20. HDU3579:Hello Kiki(解一元线性同余方程组)

热门文章

  1. 【BZOJ】【3261】最大异或和
  2. SimpleDateFormat
  3. [解决方案] 当 IDENTITY_INSERT 设置为 OFF 时
  4. fpu栈溢出
  5. frequentism-and-bayesianism-chs-iii
  6. no module named firefly.master.master
  7. 鼠标滚轮事件MouseWheel
  8. ECMAScript 5.1中对属性的操作
  9. iOS获取手机相关信息
  10. Webpack+React配合开发