当前位置: 首页 > news >正文

排序算法——希尔排序

一、介绍:

       希尔排序是一种可以减少插入排序中数据比较次数的排序算法,加速算法的进行,排序的原则是将数据区分为特定步长的小区块,然后以插入排序算法对小区块内部进行排序,经历过一轮排序则减少步长,直到所有数据都排序完成。

演示:

首先步长step的值是用待查找的数据长度决定的,初始值为step = 待查找数据的长度/2

视频演示:

希尔排序更多实用攻略教学,爆笑沙雕集锦,你所不知道的游戏知识,热门游戏视频7*24小时持续更新,尽在哔哩哔哩bilibili 视频播放量 107、弹幕量 1、点赞数 0、投硬币枚数 0、收藏人数 1、转发人数 0, 视频作者 浅陌95sss, 作者简介 记录自己的学习成果,分享自己的快乐,相关视频:快速排序,冒泡排序演示,选择排序演示,学习记录--循环列表,直接插入排序演示,学习记录--网络状态机实现,学习记录--设计模式之命令模式,排行榜模拟,学习记录--Rpg雷达图,学习记录--BFS寻路算法icon-default.png?t=N7T8https://www.bilibili.com/video/BV1eS4y15761/?spm_id_from=333.999.0.0运行代码:

  void ShellSort(int[] data){int step = data.Length / 2;int preIdx , current = 0;while (step > 0){for (int i = step; i < data.Length; i++){preIdx = i - step;current = data[i];while (preIdx >= 0 && data[preIdx] > current){data[preIdx + step] = data[preIdx];preIdx -= step;}data[preIdx + step] = current;}step = step / 2;}}
 void ShellSort2(int[] data){int step = data.Length / 2;int preIdx, current = 0;while (step > 0){for (int i = 0; i < data.Length - step; i +=step){preIdx = i;current = data[i + step];while (preIdx >= 0 && data[preIdx] > current){data[preIdx + step] = data[preIdx];preIdx -= step;}data[preIdx + step] = current;}step = step / 2;}}

http://www.lryc.cn/news/186578.html

相关文章:

  • SpringBoot项目整合MybatisPlus持久层框架+Druid数据库连接池
  • 导致 JVM 内存泄露的 ThreadLocal 详解
  • 使用预约小程序app有什么方便之处
  • 【转】ubuntu 安装 OpenCv 4.6脚本 installOCV.sh
  • Android 视图动画与属性动画的区别
  • Springboot——jxls实现同sheet多个列表展示
  • 分布式软件架构——服务端缓存的三种属性
  • Flink之Watermark策略代码模板
  • ubuntu 安装postgresql,增加VECTOR向量数据库插件 踏坑详细流程
  • 基于Springboot实现影视影院订票选座管理系统【项目源码+论文说明】分享
  • mysql批量插入数据,跳过唯一索引报错
  • 论文阅读--Energy efficiency in heterogeneous wireless access networks
  • Redis的C客户端(hiredis库)使用
  • 光引擎、光模块、光器件之间的关系和区别
  • 【办公-excel】两个时间相减 (二) - 带毫秒的时间进行相减操作
  • 二次封装View Design的table组件,实现宽度自适应,内容在一行展示
  • Node.js代码漏洞扫描工具介绍——npm audit
  • node.js知识系列(3)-每天了解一点
  • Zabbix监控系统 自定义监控项、自动发现与自动注册
  • Python信号之分享
  • 环信web、uniapp、微信小程序SDK报错详解---登录篇
  • DAZ To UMA⭐五.模型在Blender中的配置教程
  • 网络安全工具汇总
  • day-65 代码随想录算法训练营(19)图论 part 04
  • C++ - 完美语义(右值引用的中篇) - lambda表达式
  • 常见排序算法详解
  • 监控搭建-Prometheus
  • 指纹浏览器开发指南-EasyBR
  • qml入门
  • 一文熟练使用python修改Excel中的数据