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

Java:希尔排序

1.步骤

将一组数组以 gap 为单位,将数组分为 n / gap 组。如图。

将每一组的数据按照对应的大小进行排序。再将 gap 的值逐渐小。gap 的每一次减小都对数组进行一次排序直至 gap == 1。gap 的初始值没有定论,可以取 gap = n / 2 ,也可以取 gap = n / 3 等等。

2.代码

public static void ShellSort(int[] arr) {int gap = arr.length;while(gap > 1) {gap /= 2;shell(arr,gap);}
}
public static void shell(int[] arr,int gap) {for(int i = gap; i < arr.length; i++) {int j = i - gap;int temp = arr[i];for(; j >= 0; j-= gap) {if(temp < arr[j]) {arr[j + gap] = arr[j];}else {break;}}arr[j + gap] = temp; }
}

http://www.xdnf.cn/news/8212.html

相关文章:

  • 15.集合框架的学习
  • Unity基础学习(六)Mono中的重要内容(2)协同程序
  • 无人机桥梁检测效率问题-高精度3D建模及航线规划
  • AI智能分析网关V4车辆违停检测算法在道路/停车场/消防通道等场景应用解决方案
  • GitHub 趋势日报 (2025年05月21日)
  • 3D打印零件也能加密授权?戴姆勒和威步打造工业3D打印新范式
  • labview实现登录系统
  • Seay代码审计工具
  • centos8安装 kvm
  • jq常用命令
  • 线性Wi-Fi FEM被卷死,非线性FEM是未来?
  • CentOS安装最新Elasticsearch8支持向量数据库
  • 面向复杂和不平衡数据的双模块深度学习网络入侵检测模型
  • JavaScript篇:函数作用域与作用域链探秘
  • 甘特图(项目计划图)
  • Qt控件:显示控件
  • 五元组+协议分层:拆解网络通信的底层密码
  • 安卓手机安装 ChatGPT 全流程图文指南
  • 数巅智能亮相中国石油石化企业信息技术交流大会 以大模型能力驱动能源行业数智化升级
  • scikit-learn pytorch transformers 区别与联系
  • 如何让Wi-Fi设备传输距离达到1100米?涂鸦新方案让通信距离远超传统5倍
  • Dunn事后检验
  • 我店模式系统开发打造本地生活生态商圈
  • Springboot从consul中获取配置
  • Java 模块化系统(JPMS)
  • 点云(point cloud):自动驾驶的“三维扫描图“
  • SQLSERVER数据库表分区学习(未在项目上使用)
  • 6:OpenCV—图像滤波
  • 设置标签(tag)并推送到GitHub
  • 并发编程 之 Java内存模型、AQS详解:AQS设计思想、Unsafe