算法--插入排序

news2024/11/28 0:50:57

算法步骤

/**
 * 插入排序
 *
 * @version 1.0
 * @date 2023/09/01 18:48:44
 */
public class Insert {

    /**
     * 升序插入排序
     *
     * @param a 待排序的数组
     * @date 2023/9/1 15:29:10
     */
    public static void sortAes(int[] a) {
        int length = a.length;
        for (int i = 1; i < length; i++) {
            for (int j = i; j > 0; j--) {
                //如果后一个数据大前一个数据
                if (a[j-1] > a[j]) {
                    //交换数据
                    int temp = a[j];
                    a[j] = a[j-1];
                    a[j-1] = temp;
                } else {
                    break;
                }
            }
        }
    }

    /**
     * 降序插入排序
     *
     * @param a 待排序的数组
     * @date 2023/9/1 15:29:10
     */
    public static void sortDesc(int[] a) {
        int length = a.length;
        for (int i = 1; i < length; i++) {
            for (int j = i; j > 0; j--) {
                //如果后一个数据大前一个数据
                if (a[j-1] < a[j]) {
                    //交换数据
                    int temp = a[j];
                    a[j] = a[j-1];
                    a[j-1] = temp;
                } else {
                    break;
                }
            }
        }
    }
}
public class InsertTest {
    public static void main(String[] args) {
        int[] array = {56, 88, 23, 99, 12, 34, -15, -15, -45, 78, 67, 32};
        //升序排列
        //Insert.sortAes(array);
        //降序排列
        Insert.sortDesc(array);
        System.out.println(Arrays.toString(array));
    }
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Jmx协议远程连接java服务器

注意&#xff1a;本例里&#xff0c;我用的是jdk17 通常用jdk自带的jconsole&#xff0c;或者想要功能强大点的使用visualVM 需要java服务器在启动的时候加上以下参数 -Dcom.sun.management.jmxremote 启用jxm远程连接-Djava.rmi.server.hostname10.1.3.99 指定jxm监听地址&…

《向量数据库指南》——“插件版”向量数据库与Milvus Cloud原生向量数据库之间的区别?

我一直坚持一个观点&#xff0c;即并非所有基于向量的解决方案都应被统称为向量数据库&#xff0c;尽管它们的能力在某些方面可以与之匹敌。从我的观点来看&#xff0c;例如 pgvector 或 Elasticsearch&#xff0c;它们都是非常出色且成熟的产品&#xff0c;在特定场景下&#…

【C语言】扫雷小游戏(保姆教程)

目录 一、扫雷游戏介绍 二、代码分装 三、代码实现步骤 1. 制作菜单menu函数以及游戏运行逻辑流程 2. 数组棋盘分析 3. 创建棋盘数组 4. 初始化棋盘InitBoard函数 5. 显示棋盘DisplayBoard函数 6. 布置雷SetMine函数 7. 统计雷个数GetMineCount函数 8. 排查雷FindMine函…

手摸手系列之前端Vue实现PDF预览及打印的终极解决方案

前言 近期我正在开发一个前后端分离项目&#xff0c;使用了Spring Boot 和 Vue2&#xff0c;借助了国内优秀的框架 jeecg&#xff0c;前端UI库则选择了 ant-design-vue。在项目中&#xff0c;需要实现文件上传功能&#xff0c;同时还要能够在线预览和下载图片和PDF文件&#x…

【C# Programming】继承、接口

一、继承 1、派生 继承在相似而又不同的概念之间建立了类层次概念。 更一般的类称为基类&#xff0c;更具体的类称为派生类。派生类继承了基类的所有性质。 定义派生类要在类标识符后面添加一个冒号&#xff0c;接着添加基类名。 public class PdaItem {public string Name {…

java的入门学习

1. 安装jdk 一般是安装java8&#xff0c;大部分使用的版本是java8&#xff1b; 然后需要部署java环境变量 2. 编译class文件 javac 文件名.java 3. 执行class文件 编译命令为java 文件名 配置classpath路径为.\为当前路径下的class文件名 4. 变量 成员变量&#xff1a;类…

Pycharm中配置Celery启动

Pycharm中配置Celery启动 前置条件 目录结构 ----FerDemo --------celery_demo ------------tasks.py tasks.py文件代码 import sys import time from celery import Celeryapp Celery(demo,backendredis://:password127.0.0.1/0,brokerredis://:password127.0.0.1/1,broker…

【线性代数】沉浸式线性代数在线学习网站

地址&#xff1a;http://immersivemath.com/ila/index.html 这是全球第一本带交互式图形的线性代数教材&#xff0c;作者是 J. Strm, K. strm, and T. Akenine-Mller。 全书一共十章&#xff0c;各章节内容如下&#xff1a; 接下来我将对各章节进行简单的总结&#xff0c;另外…

LLM - SFT workflow 微调工作流程

目录 一.引言 二.Workflow 分流程拆解 1. Workflow 代码 2.Workflow 拆解 ◆ 超参数初始化 ◆ 数据集初始化 ◆ 加载与量化 ◆ 数据集预处理 ◆ DataCollator ◆ 模型微调 sft 三.总结 一.引言 前面我们对 LLM 相关流程的单步都做了分析…

Linux入门教程||Linux文件基本属性

Linux系统是一种典型的多用户系统&#xff0c;不同的用户处于不同的地位&#xff0c;拥有不同的权限。为了保护系统的安全性&#xff0c;Linux系统对不同的用户访问同一文件&#xff08;包括目录文件&#xff09;的权限做了不同的规定。 在Linux中我们可以使用 ll 或者 ls –l…

分类预测 | Matlab实现RBF-Adaboost多特征分类预测

分类预测 | Matlab实现RBF-Adaboost多特征分类预测 目录 分类预测 | Matlab实现RBF-Adaboost多特征分类预测效果一览基本介绍研究内容程序设计参考资料 效果一览 基本介绍 1.Matlab实现基于RBF-Adaboost数据分类预测&#xff08;Matlab完整程序和数据&#xff09; 2.多特征输入…

有关Monaco LSP的集成 monaco-languageclient 项目的开启

要求 node 18x npm 9x git clone https://github.com/TypeFox/monaco-languageclient.git cd monaco-languageclient npm i# Cleans-up, compiles and builds everything npm run build npm run dev # 访问 http://127.0.0.1:8080/两个自动完成&#xff0c; 两个验证 纠错

马蹄集 oj赛(第十一次)

目录 除法2 tax 约数个数 约数之和 全部相同 石头剪刀布 模数 余数之和 数树 除法 除法2 黄金时间限制:1秒占用内存: 128 M难度: 给定n&#xff0c;求 ”i*[n/]&#xff0c;[] 表示对 取下整 格式 一个正整数n。输入格式: 输出格式:一个数表示答案 样例1 输入:4 输出…

iPhone苹果15手机怎么取消订阅付费的项目?

iPhone苹果15手机怎么取消订阅付费的项目&#xff1f; 1、打开iPhone苹果手机桌面上的「设置」&#xff1b; 2、在苹果iPhone手机设置内点击进客户我的「Apple ID」; 3、在苹果iPhone手机Apple ID内找到「订阅」并点击进入&#xff1b; 4、在苹果iPhone手机Apple ID订阅内找到…

康拓123发卡软件支持PN532读卡器

康拓123发卡软件&#xff0c;支持PN532、PCR532等532系列读卡器&#xff0c;使用普通M1卡&#xff0c;就是也物业使用的一样的卡授权卡。 软件打开如下图 将PN532插电脑上&#xff0c;安装驱动&#xff0c;软件可以自动连接读卡器&#xff0c;也可以手动连接&#xff0c;在软件…

React隐藏显示元素

1、引入 2、添加布尔类型的状态变量 3、切换变量的状态值 4、给<div>赋值 给button按钮设置点击事件 这样就可以实现了

2023/9/13 -- C++/QT

作业&#xff1a; 1> 将之前定义的栈类和队列类都实现成模板类 栈&#xff1a; #include <iostream> #define MAX 40 using namespace std;template <typename T> class Stack{ private:T *data;int top; public:Stack();~Stack();Stack(const Stack &ot…

Spring WebFlux详解

Spring 框架中包含的原始 Web 框架 Spring Web MVC 是专门为 Servlet API 和 Servlet 容器而设计的。后来在 5.0 版本中加入了 reactive 栈的 Web 框架 Spring WebFlux。它是完全非阻塞的&#xff0c;支持 Reactive Streams 背压&#xff0c;并在 Netty、Undertow 和 Servlet 容…

基于Protege的知识建模实战

一.Protege简介、用途和特点 1.Protege简介 Protege是斯坦福大学医学院生物信息研究中心基于Java开发的本体编辑和本体开发工具&#xff0c;也是基于知识的编辑器&#xff0c;属于开放源代码软件。这个软件主要用于语义网中本体的构建&#xff0c;是语义网中本体构建的核心开发…

山西电力市场日前价格预测【2023-09-14】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2023-09-14&#xff09;山西电力市场全天平均日前电价为314.65元/MWh。其中&#xff0c;最高日前电价为362.07元/MWh&#xff0c;预计出现在19: 00。最低日前电价为154.13元/MWh&#xff0c;预计…