void shellsort1(int a[], int n)
{int i, j, gap;for (gap = n / 2; gap > 0; gap /= 2) //步长for (i = 0; i < gap; i++)        //直接插入排序{for (j = i + gap; j < n; j += gap) if (a[j] < a[j - gap]){int temp = a[j];int k = j - gap;while (k >= 0 && a[k] > temp){a[k + gap] = a[k];k -= gap;}a[k + gap] = temp;}}
}

  

void shellsort3(int a[], int n)
{int i, j, gap;for (gap = n / 2; gap > 0; gap /= 2)for (i = gap; i < n; i++)for (j = i - gap; j >= 0 && a[j] > a[j + gap]; j -= gap)Swap(a[j], a[j + gap]);
}

转载于:https://www.cnblogs.com/ye1031/p/4806046.html

C语言-排序-希尔排序相关推荐

  1. 【数据结构-排序】1. 图解插入排序三种实现(插入排序/折半排序/希尔排序)

    直接插入排序(插入排序) 排序思想 对于一个数组 A[0,n] 的排序问题,假设认为数组在 A[0,n-1] 排序的问题已经解决了. 考虑 A[n] 的值,从右向左扫描有序数组 A[0,n-1] ,直 ...

  2. 算法---排序--希尔排序和快速排序

    冒泡.选择.插入排序算法是三种简单的排序算法,它们的时间复杂度大O表示法都是O(N2),如果数据量少,我们还能忍受,但是数据量大,那么这三种简单的排序所需要的时间则是我们所不能接受的.接着我们在讲解递 ...

  3. 排序---希尔排序实现和性能分析

    希尔排序 希尔排序是简单插入排序的改进,直接插入排序的最坏情况时间复杂度达到O(n^2),比如从大到小的一串数字654321,使用插入排序从小到大进行排序,这就达到插入排序的最坏情况. 希尔排序是把记 ...

  4. 数据结构之内部排序--希尔排序

    概要 -IDE:Pycharm -Python版本:python3.x -算法分类:内部排序->插入类排序->希尔排序 算法思想 希尔排序又称缩小增量排序法,是一种基于插入思想的排序方法. ...

  5. 【每天学一点 - 算法篇 - 排序 - 希尔排序】

    系列文章目录 [每天学一点 - 算法篇 - 排序 - 插入排序] 文章目录 系列文章目录 前言 一.什么是希尔排序 二.原理 1.思路 2.示例 3.抽象 三.代码 四.复杂度 总结 前言 小时候听蛋 ...

  6. C语言实现希尔排序shell sort算法之一(附完整源码)

    希尔排序shell sort算法 希尔排序shell sort算法的完整源码(定义,实现,main函数测试) 希尔排序shell sort算法的完整源码(定义,实现,main函数测试) #includ ...

  7. C语言实现希尔排序shell sort算法之二(附完整源码)

    希尔排序shell sort算法 希尔排序shell sort算法的完整源码(定义,实现,main函数测试) 希尔排序shell sort算法的完整源码(定义,实现,main函数测试) #includ ...

  8. 图解C语言的希尔排序

    希尔排序是插入排序的一种,又称"缩小增量排序",希尔排序是直接插入排序算法的一种更高效的改进版本. 希尔排序的基本思想 设等待排序等元素序列有n个元素,首先取一个整数increme ...

  9. c++语言编程希尔排序法排序,经典四讲贯通C++排序之二 希尔排序

    我们都知道C++排序方法中,有四种常用方法插入排序.希尔排序.交换排序以及选择排序.上一篇文章,我们介绍了插入排序,今天我们介绍另一种排序方法――希尔排序.(本系列文章统一 测试程序) 希尔排序 前面 ...

  10. c语言中希尔排序的程序,c语言实现希尔排序算法

    1.算法简介 希尔排序(Shell Sort)是插入排序的一种,它是针对直接插入排序算法的改进.该方法又称缩小增量排序,因DL.Shell于1959年提出而得名.希尔排序实质上是一种分组插入方法.它的 ...

最新文章

  1. 开发腾讯移动游戏平台SDK ios版Ane扩展 总结
  2. Appium环境搭建简介
  3. 软测homework2
  4. php 分页类 bootstrap,ThinkPHP分页使用bootstrap样式
  5. asp 检查黑名单_黑名单验证的突破
  6. iphone开发常用编码
  7. 智能电视也需“杀毒”
  8. JavaScript数据结构-15.二叉树
  9. mysql.sock 文件详解
  10. 三本 计算机专业,四川哪些三本大学的计算机专业最好?
  11. js串口 Java web串口 调用客户端的串口 串口上云 硬件上云
  12. git常用命令-最基本操作
  13. Matlab - 在Figure界面去掉图像的坐标刻度
  14. ACW 4194. Pow
  15. 使用OpenCV和C++实现的分水岭算法(Watershed)
  16. vb毕业设计——基于vb+VB.NET的媒体播放器设计与实现(毕业论文+程序源码)——媒体播放器
  17. 炒汇软件测试简历,外汇MT4复盘测试EA快速入门.pdf
  18. harbor企业级镜像仓库搭建
  19. CS224N WINTER 2022(一)词向量(附Assignment1答案)
  20. 华为模拟器eNSP配置NAT网络实验

热门文章

  1. android+wear+游戏,技术帝:Android Wear手表运行一代PS游戏
  2. 嵌入式linux内核开启键盘,- 基于嵌入式Linux内核的特殊矩阵键盘设计完整驱动控制模块方案...
  3. 连续3年入围 Gartner 容器竞争格局,阿里云容器服务新布局首次公开
  4. 深圳观澜机房(云计算数据中心)
  5. JavaScript学习总结(2)——JavaScript数据类型判断
  6. python开发环境anaconda3_Python环境管理(Anaconda3)
  7. php fetch mode,odbc_fetch_into
  8. Qt Creator怎样更改默认构建目录
  9. Eclipse自定义启动画面和状态栏图标以及各种小图标的含义
  10. 《SEO的艺术(原书第2版)》——3.11 为意识形态影响力开展SEO