#include <iostream>
using namespace std;
void shellSort(int R[], int n)
{int i, j, d;int tmp;d = n / 2;//设置增量while (d > 0)//出口{for (i = d; i < n; i++)//对所有组采用直接插入排序{tmp = R[i];//对相隔d个为止一组采用直接插入排序j = i - d;while (j >= 0 && tmp < R[j]){R[j + d] = R[j];j = j - d;}R[j + d] = tmp;}d = d / 2;//减小增量}
}
int main()
{int R[] = { 9,5,4,2,3,1,8,15,42};shellSort(R, 9);//第一个参数为待排序数组,第二个参数为数组长度for (int i = 0; i < 9; i++){cout << R[i] << " ";}return 0;
}

【排序算法】希尔排序-常规排序相关推荐

  1. 经典排序算法 - 希尔排序Shell sort

    经典排序算法 - 希尔排序Shell sort 希尔排序Shell Sort是基于插入排序的一种改进,同样分成两部分, 第一部分,希尔排序介绍 第二部分,如何选取关键字,选取关键字是希尔排序的关键 第 ...

  2. python排序算法——希尔排序(附代码)

    python排序算法--希尔排序 文章目录 python排序算法--希尔排序 一.前言 二.算法描述 三.代码实现 总结 一.前言 相关知识来自<python算法设计与分析>.初级排序算法 ...

  3. 十大经典排序算法-希尔排序算法详解

    十大经典排序算法 十大经典排序算法-冒泡排序算法详解 十大经典排序算法-选择排序算法详解 十大经典排序算法-插入排序算法详解 十大经典排序算法-希尔排序算法详解 十大经典排序算法-快速排序算法详解 十 ...

  4. 排序算法 - 面试中的排序算法总结

    排序算法总结 查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中.因为其实现代码较短,应用较常见.所以在面试中经常会问到排序算法及其相关的问题.但万变不离其宗,只要熟悉了思想,灵活运用也不 ...

  5. 《数据结构与算法》实验:排序算法实验比较——选择排序 堆排序

    <数据结构与算法>实验和课程Github资源 <数据结构与算法>实验:线性结构及其应用--算术表达式求值 <数据结构与算法>实验:树型结构的建立与遍历 <数据 ...

  6. java 奇偶数据排序算法,简单讲解奇偶排序算法及在Java数组中的实现

    简单讲解奇偶排序算法及在Java数组中的实现 奇偶排序是一个比较有个性的排序,基本思路是奇数列排一趟序,偶数列排一趟序,再奇数排,再偶数排,直到全部有序 举例吧, 待排数组 [6 2 4 1 5 9] ...

  7. Java常见排序算法之直接选择排序

    在学习算法的过程中,我们难免会接触很多和排序相关的算法.总而言之,对于任何编程人员来说,基本的排序算法是必须要掌握的. 从今天开始,我们将要进行基本的排序算法的讲解.Are you ready?Let ...

  8. php递归算法排序,php常用的排序算法代码[冒泡,递归排序-PHP源码

    <script>ec(2);<script> php 常用的排序算法代码[冒泡,递归排序 冒泡排序算法 function bubblesort($arr) { $n=count ...

  9. 数据结构之排序算法:并归排序

    排序算法:并归排序 思维导图: 归并排序的定义: 俩个有序线性表的合并: 归并排序的代码实现: 归并排序的性能: 思维导图: 归并排序的定义: 俩个有序线性表的合并: int *B = (int *) ...

  10. 排序算法:简单选择排序算法实现及分析

    简单选择排序算法介绍 简单选择排序(Simple Selection Sort)就是通过n-1次关键字排序之间的比较,从n-i+1个记录中选择关键字最小的记录,并和第i(1<=i<=n)记 ...

最新文章

  1. 如何搭建Docker私有仓库
  2. java reference详解_Java Reference详解
  3. 梯度下降法和随机梯度下降法
  4. idea关于连接mysql数据库异常解决的方法
  5. 执行cmd并获得结果_用JAVA执行CMD命令备份PG数据库,解决需要口令的问题
  6. hibernate教程笔记4
  7. JDBC上传文件存入BLOB字段
  8. PHP-laravel框架一1
  9. 无线通信设备安装工程概预算编制_南宁市轨道交通5号线一期工程专用无线通信系统设备采购...
  10. 激光条纹中心提取——zhang细化+灰度重心法
  11. 我的开源GIS解决方案之路
  12. html word 分页符,怎么取消分页符(word文档如何取消分页)
  13. python场景文字识别_场景文字识别Attention_飞桨-源于产业实践的开源深度学习平台...
  14. 改变网changeself.com,记录着改变生活、改变态度、改变思维方式、改变特质、改变行为方式,一切从改变自己身上的特质开启
  15. 下载王者荣耀高清壁纸
  16. unicode和字符串之间的转换有两种方式
  17. C# SolidWorks 二次开发 API ---读取零件相关属性
  18. VSC/SMC(十四)——全局快速Terminal滑模控制(含程序模型)
  19. star-rating评分插件的使用
  20. 对神经网络的简单理解,简述什么是神经网络

热门文章

  1. 去哪儿app_58款APP遭点名,多家基金、银行产品上榜!
  2. loading动画_超级简单的CSS加载动画(冰淇淋loading加载动画)
  3. linux 中rpc 服务器,实现Linux环境下编程RPC通信之个人经验总结(转)
  4. 页面布局让footer居页面底部_网站页面结构与关键词布局技巧
  5. 工程思想——继电器特性抖动处理
  6. C语言:从键盘输入一些数,求所有正数之和。当输入负数时,程序结束。
  7. hbase jdbc相关
  8. ZeroMQ使用教程
  9. jQuery 停止动画
  10. 云计算-大数据-云安全高等教育改革示范教材