第四天算法设计

news/2025/1/20 21:39:11/文章来源:https://www.cnblogs.com/sjx05/p/18682547

希尔排序
需求:
排序前:{9,1,2,5,7,4,8,6,3,5}
排序后:{1,2,3,4,5,5,6,7,8,9}
算法设计
Shell类:
package suanfa;

public class Shell {
public static void sort(Comparable[] a){

    // 先确定增长量int h = 1;while(h < a.length / 2) {h = 2 * h + 1;}// 按照 h 值进行排序while(h >= 1){for(int i = h; i < a.length; i++) {for(int j = i; j >= h; j -= h) {if(greater(a[j - h], a[j])) {exch(a, j - h, j);} else {break;}}}h = h / 2;}
}private static boolean greater(Comparable v, Comparable w) {return v.compareTo(w) > 0;
}private static void exch(Comparable[] a, int i, int j) {Comparable temp = a[i];a[i] = a[j];a[j] = temp;
}

}

ShellTest类:
package suanfa;

import java.util.Arrays;

public class ShellTest {
public static void main(String[] args) {
Integer[] a={9,1,2,5,7,4,8,6,3,5};
Shell.sort(a);
System.out.println(Arrays.toString(a));
}
}
录制: untitled2 – Shell.java
录制文件:https://meeting.tencent.com/crm/ldR1Qz8Pfb

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/872341.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文告诉你Linux下如何用C语言实现ini配置文件的解析和保存

嵌入式项目开发中,会有很多功能模块需要频繁修改参数,Linux下我们可以通过ini格式的文件保存配置信息。 本文通过开源库iniparser,详细讲解如何用C语言实现ini文件的参数解析和配置保存。 本文代码实例获取方式见文末。 一、ini文件 1 什么是 ini文件INI(Initialization F…

Mysql的学习

Mysql建立 索引优化: sql优化: 为了解决下面的索引失效问题序列索引优化:

中考英语优秀范文-014 The hero in my heart 我心中的英雄

1 写作要求 自古以来,人们对英雄的定义没有统一的标准。英雄可以是科学家、军人、运动员,也可以是医生、保安或外卖骑手。假如你是学校广播站的一名英语播报员,明天你准备向大家介绍一位你心目中的英雄,请你根据下面的要点提示,写一篇英语广播稿。 1 须包含提示中的所有内…

python 探空数据根据时间偏移量计算具体时间

这里有一组探空数据,每天08时和20时放气球,气球飞上去的时间就是用时间偏移量来计算的,而不是直接显示好的 根据“年”“月”“日”“时”“时间偏移量”列,时间偏移量单位为秒,计算具体的时间 #!/usr/bin/python3 # -*- coding: utf-8 -*- """ @Time : 20…

LaTeX之符号表

本文介绍了在 $\LaTeX{}$ 中常用的符号。\(\LaTeX{}\) 之符号表 目录\(\LaTeX{}\) 之符号表\(\LaTeX{}\) 普通符号文本/数学模式通用符号希腊字母二元关系符二元运算符巨算符数学重音符号箭头作为重音的箭头符号定界符用于行间公式的大定界符其他符号AMS 符号AMS希腊字符和希伯…

【抓包工具】wireshark零基础使用教程

Wireshark是什么 Wireshark是使用最广泛的一款「开源抓包软件」,常用来检测网络问题、攻击溯源、或者分析底层通信机制。 它使用WinPCAP作为接口,直接与网卡进行数据报文交换。 Wireshark抓包原理 Wireshark使用的环境大致分为两种,一种是电脑直连互联网的单机环境,另外一种…

多端响应式

重要!响应式开发 目录重要!响应式开发是什么?怎么实现?媒体媒体查询断点是什么适配方案栅格布局响应式栅格系统实例 是什么? 多终端显示不同,更好看 PC,ipad,手机适配 怎么实现? 媒体查询,断点: 视口宽不同,布局不同 移动端??? 320-480端口 rem 不考虑大尺寸,更…

公共图床-OIER试炼场

公共图床-OIER试炼场 如何使用? 1. 使用浏览器直接访问 https://api-cdn.u1128333.nyat.app:35910/2. 通过插件访问 插件下载点我 MIT License, ©2025 Chan. 在浏览器扩展中添加即可使用。

32. 样式表

一、样式表为了美化窗口或控件的外观,可以通过窗口或控件的调色板给窗口或控件按照角色和分组设置颜色,还可以对窗口或控件的每个部分进行更细致的控制,这涉及窗口或控件的样式表(Qt style sheets, QSS),它是从 HTML 的层叠样式表(cascading style sheets, CSS)演化而来…