首页 > 编程语言 >第四天算法设计

第四天算法设计

时间:2025-01-20 21:43:23浏览次数:1  
标签:Comparable Shell int 算法 static 第四天 设计 排序 public

希尔排序
需求:
排序前:{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

标签:Comparable,Shell,int,算法,static,第四天,设计,排序,public
From: https://www.cnblogs.com/sjx05/p/18682547

相关文章

  • 计算机毕设设计项目 网上书店管理系统
    标题:网上书店管理系统网上书店管理系统是一个用于在线销售书籍及管理相关业务的系统。它通常包括前端用户界面和后端管理系统,支持用户浏览书籍、下单、支付、以及管理员管理书籍、订单等功能。以下是网上书店管理系统的设计与实现的基本框架和功能模块。1.项目概述项目名......
  • 【高创新】基于matlab斑马算法ZOA-CNN-LSTM-Attention用客流量预测【含Matlab源码 842
    ......
  • 团体程序设计天梯赛-练习集——L1-015 跟奥巴马一起画方块
    前言15分一道特别简单的题目,肥的流油,开一下吧L1-015跟奥巴马一起画方块美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一......
  • 【Java毕设】基于java的火车订票管理系统设计新版源码+数据库+说明+LW
    一、项目介绍本论文主要论述了如何使用JAVA语言开发一个火车订票管理系统,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述火车订票管理系统的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系......
  • 团体程序设计天梯赛-练习集——L1-014 简单题
    前言简单题L1-014简单题这次真的没骗你——这道超级简单的题目没有任何输入。你只需要在一行中输出事实:Thisisasimpleproblem.就可以了。输入样例:无输出样例:Thisisasimpleproblem.太简单了这就是另一种形式的著名短句HelloWorld形式不变,接着看看......
  • 企业级流程架构设计思路-基于价值链的流程架构
    获取更多企业流程资料=======================纸上得来终觉浅,绝知此事要躬行=======================一.企业流程分级规则定义1.流程分类分级的总体原则2.完整的流程体系需要体现出流程的分类分级03.通用的流程分级方法04.流程分级的标准二.企业流程架构设......
  • 【第一天】零基础入门刷题Python-算法篇-数据结构与算法的介绍(持续更新)
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、Python数据结构与算法的详细介绍1.基本概念2.Python中的数据结构1.列表(List)2.元组(Tuple)3.字典(Dictionary)4.集合(Set)5.字符串(String)3.Python中的常用算法1.排序算法2.搜索算法3.递......
  • Spring框架中的设计智慧:揭秘那些经典设计模式
    Spring框架在开发过程中融入了多种设计模式,这些设计模式使得Spring更加灵活、易于扩展且功能强大。下面,我会尽量用通俗易懂的方式来解释Spring中用到的几种主要设计模式:1.单例模式(SingletonPattern):想象一下,你有一个特别昂贵的魔法宝石(Bean),这个宝石非常稀有且只能有一个。在......
  • 基于goland的WebShell检测设计于研究
    摘要随着互联网在我们生活中被广泛应用到社交、金融、行政以及办公等领域,网络安全的问题也越来越被重视。WebShell的本质是一种Web应用脚本程序,由于其可以通过HTTP协议的方式对服务器进行控制,故常被黑客用于植入到被入侵的系统中,严重威胁到主机的安全。本文针对现有的WebSh......
  • JAVA开源毕业设计 在线课程管理系统 Vue.JS+SpringBoot+MySQL
    本文项目编号T137,文末自助获取源码\color{red}{T137,文末自助获取源码}......