news 2026/7/28 17:38:11

希尔排序

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
希尔排序

九大排序算法之希尔排序

  • 算法思想
    排序思想
  • 代码实现
import java.util.*; //希尔排序(插入排序的快速排序算法):使数组中任意间隔为h的元素是有序的,h不断减小 //时间复杂度:NlogN,空间复杂度:1 public class Shell { public static void sort(Comparable[] a) { int N=a.length; int h=1; while(h<N/3)h=3*h+1; while(h>=1) { for(int i=h;i<N;i++) { for(int j=i;j>=h&&less(a[j],a[j-h]);j-=h) { exch(a,j,j-h); } } h/=3; } } private static boolean less(Comparable v,Comparable w) { return v.compareTo(w)<0; } private static void exch(Comparable[] a,int i,int j) { Comparable t=a[i]; a[i]=a[j]; a[j]=t; } private static void show(Comparable[] a) { for(int i=0;i<a.length;i++) { System.out.print(a[i]+" "); } System.out.println(); } public static boolean isSorted(Comparable[] a) { for(int i=1;i<a.length;i++) { if(less(a[i],a[i-1])) return false; } return true; } public static void main(String[] args) { String[] a= {"3","2","4","5","7"}; sort(a); assert isSorted(a); show(a); } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/28 17:37:59

免费开源鼠标连点器终极指南:5分钟快速实现自动化点击

免费开源鼠标连点器终极指南&#xff1a;5分钟快速实现自动化点击 【免费下载链接】MouseClick &#x1f5b1;️ MouseClick &#x1f5b1;️ 是一款功能强大的鼠标连点器和管理工具&#xff0c;采用 QT Widget 开发 &#xff0c;具备跨平台兼容性 。软件界面美观 &#xff0c;…

作者头像 李华
网站建设 2026/7/28 17:35:57

免费开源鼠标连点器完整指南:5分钟掌握自动化点击技巧

免费开源鼠标连点器完整指南&#xff1a;5分钟掌握自动化点击技巧 【免费下载链接】MouseClick &#x1f5b1;️ MouseClick &#x1f5b1;️ 是一款功能强大的鼠标连点器和管理工具&#xff0c;采用 QT Widget 开发 &#xff0c;具备跨平台兼容性 。软件界面美观 &#xff0c;…

作者头像 李华
网站建设 2026/7/28 17:30:15

从敲键盘到说人话:收藏这份程序员大模型学习指南,轻松升维!

文章探讨了AI工具对程序员开发方式、思维模式及技能要求的改变。从依赖“写代码”到注重“表达意图”&#xff0c;程序员需适应新的开发流程&#xff0c;如通过精确的prompt与AI协作。文章指出&#xff0c;虽然AI能提升效率&#xff0c;但可能引入安全漏洞和技能退化问题。为应…

作者头像 李华
网站建设 2026/7/28 17:30:11

leetcode—python 50天刷题 第23题 爬楼梯

题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 注意&#xff1a;给定 n 是一个正整数。 示例 1&#xff1a; 输入&#xff1a; 2 输出&#xff1a; 2 解释&#xff1a; 有两种方法可以爬…

作者头像 李华
网站建设 2026/7/28 17:25:36

TEL 3R80-000276-11 印刷电路板

TEL 3R80-000276-11 印刷电路板&#xff0c;核心特点如下&#xff08;共15条&#xff09;&#xff1a;中间&#xff08;15条&#xff09;东京电子品牌专用印刷电路板组件。用于半导体制造设备控制系统。原厂设计&#xff0c;电气参数完全匹配。采用高可靠性工业级PCB基材。集成…

作者头像 李华
网站建设 2026/7/28 17:25:34

LeetCode——108,将有序数组转换为二叉搜索树

/*** \* Created: liuhuichao* \* Date: 2019/8/29* \* Time: 32:32 PM* \* Description: 将有序数组转换为二叉搜索树* \* 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。* <p>* 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度…

作者头像 李华