//实现希尔插入排序算法
#include<stdio.h>
#include<malloc.h>
#define MAXE 20typedef int KeyType;
typedef char InfoType;typedef struct
{KeyType key;InfoType data[10];
}RecType;void ShellSort(RecType r[],int n)//
{int i,j,d,k;RecType temp;d=n/2;while(d>0){for(i=d;i<n;i++){j=i-d;while(j>=0 && r[j].key>r[j+d].key){temp=r[j];r[j]=r[j+d]; r[j+d]=temp;j=j-d;}}printf("      d=%d:    ",d);//for(k=0;k<n;k++)printf("%3d",r[k].key);printf("\n");d=d/2;      //}
}int main()
{int i,k,n;KeyType a[]={9,8,7,6,5,4,3,2,1,0};RecType r[MAXE];n=sizeof(a)/4;for(i=0;i<n;i++)  r[i].key=a[i];printf("\n");printf("初始关键词:   ");for(k=0;k<n;k++)printf("%3d",r[k].key);printf("\n");ShellSort(r,n);printf(" 最后结果:    ");for(k=0;k<n;k++)printf("%3d",r[k].key);printf("\n\n");return 0;
}

数据结构源码笔记(C语言描述)汇总:

数据结构源码笔记(C语言):英文单词按字典序排序的基数排序

数据结构源码笔记(C语言):直接插入排序

数据结构源码笔记(C语言):直接选择排序

数据结构源码笔记(C语言):置换-选择算法

数据结构源码笔记(C语言):Huffman树字符编码

数据结构源码笔记(C语言):Josephus问题之顺序表

数据结构源码笔记(C语言):Josephus问题之循环链接表

数据结构源码笔记(C语言):多项式合并

数据结构源码笔记(C语言):二叉树之叶子结点旋转销毁

数据结构源码笔记(C语言):哈夫曼树

数据结构源码笔记(C语言):集合的位向量表示

数据结构源码笔记(C语言):链接队列

数据结构源码笔记(C语言):链接栈

数据结构源码笔记(C语言):线性表的单链表示

数据结构源码笔记(C语言):线性表的顺序表示

数据结构源码笔记(C语言):栈的基本操作

数据结构源码笔记(C语言):中缀表达式

数据结构源码笔记(C语言):希尔插入排序

数据结构源码笔记(C语言):索引文件建立和查找

数据结构源码笔记(C语言):冒泡排序

数据结构源码笔记(C语言):快速排序

数据结构源码笔记(C语言):可变长度字符串的快速排序

数据结构源码笔记(C语言):基数排序

数据结构源码笔记(C语言):二路归并排序

数据结构源码笔记(C语言):堆排序

数据结构源码笔记(C语言):二叉树搜索树Kruskal

数据结构源码笔记(C语言):二叉搜索树Prim

数据结构源码笔记(C语言):最短路径弗洛伊德算法

数据结构源码笔记(C语言):深度、广度优先生成树

数据结构源码笔记(C语言):邻接矩阵转化邻接表

数据结构源码笔记(C语言):统计字符串中出现的字符及其次数

数据结构源码笔记(C语言):顺序查找

数据结构源码笔记(C语言):哈希表的相关运算算法

数据结构源码笔记(C语言):分块法查找

数据结构源码笔记(C语言):二分查找

数据结构源码笔记(C语言):二叉树遍历

数据结构源码笔记(C语言):二叉平衡树的相关操作算法

数据结构源码笔记(C语言):二叉排序树的基本操作算法

数据结构源码笔记(C语言):B树的相关运算算法

数据结构源码笔记(C语言):希尔插入排序相关推荐

  1. 数据结构源码笔记(C语言):直接插入排序

    //实现直接插入排序算法#include<stdio.h> #include<malloc.h> #define MAXE 20typedef int KeyType; typ ...

  2. 数据结构源码笔记(C语言描述)汇总

    数据结构源码笔记(C语言):英文单词按字典序排序的基数排序 数据结构源码笔记(C语言):直接插入排序 数据结构源码笔记(C语言):直接选择排序 数据结构源码笔记(C语言):置换-选择算法 数据结构源码 ...

  3. 数据结构源码笔记(C语言):英文单词按字典序排序的基数排序

    //实现英文单词按字典序排序的基数排序算法#include<stdio.h> #include<malloc.h> #include<string.h>#defin ...

  4. 数据结构源码笔记(C语言):索引文件建立和查找

    //实现索引文件建立和查找算法#include<stdio.h> #include<malloc.h> #include<string.h> #include< ...

  5. 数据结构源码笔记(C语言):快速排序

    //实现快速排序算法 #include<stdio.h> #include<malloc.h> #define MAXE 20typedef int KeyType; type ...

  6. 数据结构源码笔记(C语言):冒泡排序

    //冒泡排序算法实现 #include<stdio.h> #include<malloc.h> #define MAXE 20typedef int KeyType; type ...

  7. 数据结构源码笔记(C语言):直接选择排序

    //实现直接选择排序算法#include<stdio.h> #include<malloc.h> #define MAXE 20typedef int KeyType; typ ...

  8. 数据结构源码笔记(C语言):置换-选择算法

    //实现置换-选择算法#include<stdio.h> #include<malloc.h> #include<string.h> #include<std ...

  9. 数据结构源码笔记(C语言):Huffman树字符编码

    #include <stdio.h> #include<string.h> #define N 10 /*待编码字符的个数,即树中叶结点的最大个数*/ #define M 2* ...

最新文章

  1. Linux虚拟机和Window本地共享文件夹用于PHP项目调试
  2. 用友二次开发——工资导入
  3. redisCommand接口的用法--利用hiredis库获取MGET命令的结果的坑!
  4. 高级转录组分析和R语言数据可视化第12期 (线上线下同时开课)
  5. 三相四线怎样查漏电_制冷机组三相四线与三相五线有什么区别?
  6. 最新黑链代码expression:隐藏链接代码
  7. MongoDB的简单操作
  8. MAC电脑数据迁移方法
  9. 2012 Java陷阱
  10. Some about me
  11. VS2015中快捷注释代码块
  12. 【Git、GitHub、GitLab】九 工作中非常重要的一些git用法
  13. 一串字符串转换为ascii_将ASCII字符串(char [])转换为C中的BYTE数组
  14. 基础算法 —— 递推算法
  15. Linux——vi编辑器
  16. 使用C#和MSMQ开发消息处理程序
  17. 电脑版永恒纪元服务器正在维护,永恒纪元————【维护】1月10日更新维护公告...
  18. 《Java性能优化权威指南》读书笔记
  19. 笔记本电脑扩展屏幕到笔记本、平板和手机(duet、spacedesk)
  20. chrome拓展 --截屏文字识别

热门文章

  1. python walk_Python os.walk()方法
  2. 数组 字符串的解构赋值 以及const命令
  3. 网工学Python——初识面向对象
  4. BZOJ3230 相似子串 字符串 SA ST表
  5. HTML5API(5)
  6. Xcode9新特性介绍-中文篇
  7. c# 添加图片水印,可以指定水印位置+生成缩略图[付上帅图1,2,3,4]
  8. linux和android调试概要
  9. /dev、/sys/dev 和/sys/devices 和udev的关系
  10. Wince程序内存和存储内存