#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. 基础数据结构【一】————数组
  2. CSS中的超链接和超链接分类
  3. fpga如何约束走线_FPGA中的CLOCK REGION和SLR是什么含义
  4. “4K云字库”基本框架图
  5. 银行业务软件测试,银行业务软件系统测试研究
  6. Backpropagation Through Time:What it Does and How to Do it论文解读
  7. 使用JWT的Cloud Native应用程序
  8. mysql的存储引擎详解_MySQL常见存储引擎详解
  9. 域组策略--+域控中组策略基本设置
  10. docker用gpu的参数_初探Docker调用GPU
  11. DBMS连接不上 —— 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。
  12. 分享一款在线less转css的神器
  13. python 姿势估计_Python中的实时头姿势估计
  14. 基于SSM的医院药品库存管理系统
  15. .axf文件_MDK 的编译过程及文件类型全解(一)
  16. 微信公众号注册认证流程
  17. 轻轻松松做出绝美词云!这是比阿里云DataV还好用的数据可视化平台
  18. 项目管理必看书籍推荐
  19. java espresso_java-Espresso-如何检查是否显示了其中一个视图
  20. 自己整理的scratch说课讲义

热门文章

  1. 7z001怎么解压在安卓手机上面_安卓手机怎么设置网易企业邮箱
  2. linux通过xrander添加分辨率,使用X11,XDamage,XRender和其他技巧保留屏幕内容的QPixmap副本...
  3. linux nvm node 权限不够_centos部署node+mongodb环境
  4. 表格列数太多 页面怎么设计_B端产品设计规范分享
  5. C语言:从键盘输入10个学生的成绩存储在数组中,求成绩最高者的序号和成绩
  6. linux 自动补全快捷键,day4 Linux下的快捷键和基本命令
  7. Hive date_format函数入门
  8. Opencv学习笔记_计算机视觉是什么?Opencv的起源
  9. TabLayout+ViewPager+Fragment(内部:TabLayout+ViewPager+ Fragment)需要注意!!
  10. 大数据时代的回收生意经(淼一专访)