常用排序算法之插入排序

ZYNQ:【1】深入理解PS端的TTC定时器(Part1:原理+官方案例讲解) 基于UG585详细讲解其中TTC的原理和使用案例。 阅读详情

常用排序算法之冒泡排序
常用排序算法之快速排序
常用排序算法之希尔排序
常用排序算法之归并排序
常用排序算法之选择排序
常用排序算法之堆排序

插入排序

/**
     * 插入排序
     */
    public static int[] insertionSort(int[] array) {
        int temp = 0;
        for (int i = 1; i < array.length; i++) {
            int j = i - 1;
            temp = array[i];
            for (; j >= 0 && temp < array[j]; j--) {
                array[j + 1] = array[j];
            }
            array[j + 1] = temp;
        }
        return array;
    }

运行

/**
     * 待排序的数组
     */
    private static int[] array = {
            12, 10, 5, 9, 5, 32, 16, 1, 9, 99, 80, 3, 18, 19, 20, 25, 7, 15
    };

    public static void main(String[] args) {

        int[] result = SortUtils.insertionSort(array.clone());
        System.out.println(Arrays.toString(result));

    }

输出

[1, 3, 5, 5, 7, 9, 9, 10, 12, 15, 16, 18, 19, 20, 25, 32, 80, 99]

常用算法时间复杂度和空间复杂度表

S32DS使用手把手教程:从零实现CAN通信配置 深入讲解S32DS使用过程中如何从零开始配置CAN通信,涵盖关键步骤与实用技巧,帮助开发者快速上手S32DS使用中的常见问题与调试方法。 阅读详情

相关推荐

PostgreSQL向量数据插件--pgvector安装(附PostgreSQL安装)

本文为本人在安装pgvector中踩过的坑,已找到解决方法,现向大家分享。

m0_62627802的博客 2万+

排序算法之冒泡排序(图解)

排序算法之冒泡排序(图解)

Sueko的博客 5万+

Golang面试(一)莉莉丝游戏-Golang后端开发-中台部门

莉莉丝游戏-Golang后端开发-中台部门 开场白,双方自我介绍,对方介绍这个岗位情况,erlang语言,全部转向go。 聊项目,介绍IM架构以及使用Go写的服务简介 动态扩容相关问题:平常30万,现在100万,你们现在是如何应对的? 如果让你调整架构实现动态扩容,你会怎么做?回答了kafka,是一种,应该还要使用docker和k8s以及微服务框架等 如果使用kafka,你是如何确保消息有序?回答了redis,好像没回答到那个点 消息发送失败的问题,如何做到消息不丢?回答持久化存储、拉消息和ACK 发送失

xmcy001122的专栏 3899

经典排序算法(1)——冒泡排序算法详解

冒泡排序(Bubble Sort)是一种典型的交换排序算法,通过交换数据元素的位置进行排序。 一、算法基本思想 (1)基本思想 冒泡排序的基本思想就是:从无序序列头部开始,进行两两比较,根据大小交换位置,直到最后将最大(小)的数据元素交换到了无序队列的队尾,从而成为有序序列的一部分;下一次继续这个过程,直到所有数据元素都排好序。 算法的核心在于每次通过两两比较交换位置,选出

渴望,就奋力追寻... 15万+

RNA 8. SCI文章中差异基因表达--热图 (heatmap) 进阶:从数据标准化到多维度注释

本文深入探讨了RNA差异基因表达分析中热图(heatmap)的进阶应用,从数据标准化到多维度注释。详细介绍了FPKM标准化、Z-score转换等关键技术,以及pheatmap包的高级注释功能,帮助研究者制作发表级热图。文章还提供了视觉优化策略和生物学意义衔接的实用建议,助力SCI论文的数据可视化。

weixin_29051149的博客 302

tecplot 通过数据点、坐标点绘制云图、三维云图

使用坐标点绘制二维云图或三维云图

medicalmask的博客 3万+

排序算法之冒泡排序,通俗易懂,简单明了

通俗易懂的去理解冒泡排序以及对冒泡排序进行优化

ocean&21的博客 5267

LTspice元器件库导入与路径管理:符号、模型、子电路全解析

在电子电路仿真中,元器件库通常由符号、模型和子电路三层构成:符号定义引脚外观,模型描述电气行为,子电路封装多端子网络。理解三者职责边界,是解决 LTspice 元器件库导入报错的关键。许多导入失败并非软件问题,而是文件类型错配、路径引用不清或引脚顺序不一致。掌握 `.include` 指令、用户库搜索路径和自制符号绑定模型,可以提升第三方模型复用效率,降低跨项目迁移成本。该思路适用于运放、MOS 管、二极管等器件建模,尤其在 UA741 等经典运放导入场景中,需要先核对 `.subckt` 引脚顺序,再选择

weixin_29182481的博客 181

十大经典排序算法-冒泡排序算法详解

一、什么是冒泡排序 1.概念 冒泡排序(Bubble Sort)是排序算法里面比较简单的一个排序。它重复地走访要排序的数列,一次比较两个数据元素,如果顺序不对则进行交换,并一直重复这样的走访操作,直到没有要交换的数据元素为止。 2.算法原理 这是一个无序数列:1、5、4、2、6、3,我们要将它按从小到大排序。按照冒泡排序的思想,我们要把相邻的元素两两比较,根据大小来交换元素的位置 首先开始第一轮比较 第一步:比较1和5,1比5小,顺序正确,元素位置不变 第二步:比较5和4,5比4大,顺序错误,交换元素位置

qq_35344198的博客 2万+

北京联通IPTV组播实战:OpenWRT软路由配置全解析

本文详细解析了在北京联通IPTV环境下,利用OpenWRT软路由和udpxy工具实现组播转单播的实战配置。内容涵盖网络接口设置、防火墙规则、udpxy安装配置、直播源M3U文件处理以及全平台播放指南,帮助用户无需机顶盒即可在家庭局域网内任何设备上流畅观看电视直播。

weixin_29313547的博客 1408

量子化学仿真软件:VASP_(7).表面与界面性质模拟

在量子化学仿真软件领域,表面与界面性质的模拟是研究多相催化、表面反应、材料科学等领域的关键工具。VASP(Vienna Ab Initio Simulation Package)作为一种广泛使用的密度泛函理论(DFT)计算软件,提供了强大的功能来模拟表面与界面的性质。本节将详细介绍如何使用VASP进行表面与界面性质的模拟,包括模型构建、输入文件准备、计算设置、结果分析等步骤。

kkchenjj的博客 950

算法:冒泡排序

文章目录选择排序版本1版本2冒泡排序 选择排序 版本1 从小到大: 1、定义一个10个int元素的数组。 2、选择第一个元素,将这个元素和剩下的九个元素相比,找出最小的那个,然后和第一个元素交换位置。如果第一个元素就是最小的元素,那么不需要交换位置(<或者>,而不是<=或者>=) 3、选择第二个元素,将这个元素和剩下的八个元素相比,找出最小的那个,然后和第二个元素交换位置。...

OceanStar的博客 5900

RT-DETR训练前的准备,将数据集划分成训练集、测试集验证集(附完整脚本及使用说明)

在计算机视觉领域,当我们着手训练一个模型时,。其中,将数据集划分为和更是一项基础性且关键的操作。这篇博客分析了这一划分背后的原因、其重要意义以及如何通过代码实现,帮助大家更好地理解和运用这一技巧,。

Limiiiing的博客 906

js实现常用排序算法 --冒泡排序,选择排序, 插入排序,快速排序,

JavaScript实现十大常用排序算法 冒泡排序 选择排序 插入排序 快速排序 归并排序 希尔排序 堆排序 计数排序 桶排序 计数排序 冒泡排序: 原理 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一...

知无涯 4397

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

常用的排序算法(包括冒泡排序,选择排序,插入排序,希

lylscut的专栏 604

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

python版 常用排序算法 思路加详解 冒泡排序、快速排序、插入排序、选择排序

python版 常用排序算法 思路加详解 冒泡排序、快速排序、插入排序、选择排序

weixin_46710559的博客 1940

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

你应该知道的常用排序算法之插入排序

人生有涯,学海无涯前面跟大家分享的排序算法之快速排序,今天跟大家分享另外一个排序算法——插入排序。插入排序可能大家在平时真正用到地方不多,但是也会用到,而且有一个场景我想...

Java极客技术 220

常用排序算法-插入排序

插入排序: 插入排序是假设数列已经按顺序排列,反复将每一个元素插入,如果待插入数据比所有元素大,就直接放到最后;如果比前置元素小,前置元素后移,直至遇到比待插入小的位置。 初始状态,假设数列只有一个元素33 第一步将6插入 6比33小 33后移,6插入到33前面 第二步将-5插入 -5 比33小 33后移 -5比6小 6后移 第三步 将59插入 55 比-5 6 33 都...

dingquanba6392的博客 84

常用算法之排序算法-插入排序

插入排序 目录 –直接插入排序 –二分插入排序 –希尔排序 •思想:每步将一个待排序的记录,按其顺序码大小插入到前面已经排序的字序列的合适位置,直到全部插入排序完为止。 •关键问题:在前面已经排好序的序列中找到合适的插入位置。 ①直接插入排序(从后向前找到合适位置后插入)   1、基本思想:每步将一个待排序的记录,按其顺序码大小插入到前面已经排序的字序列的合适位置(从后向前找到合适位置后...

trap_error的博客 291

常用排序算法之插入排序c及lua实现

插入排序(Insertion Sort)的算法描述是一种简单直观的排。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。

纯属个人笔记 1469

用c语言编写插入排序算法,C语言实现常用排序算法——插入排序

插入排序是最基础的排序算法,原理:首先1个元素肯定是有序的,所以插入排序从第二个元素开始遍历;内循环首先请求一个空间保存待插入元素,从当前元素向数组起始位置反向遍历;当发现有大于待插入元素的元素,则将此元素向后挪一位,最终将缓冲区的元素放入空白位置。void insert_sort(int a[],int n) {int i,j,temp;for(i=; itemp=a[i];for(j=i; j...

weixin_39631755的博客 859

排序算法之插入排序以及 常用类

插入排序 规律 (1)两两比较.在数组中,使用arr[1]和arr[0]先比较, 先让前面元素,变成有序. 将当前元素值小的插入到左边元素的前面, 可理解为站队列,小个子在前,大个子在后. (2)比较次数;数组长度-1次. public class insertSortTest { public static void main(String[] args) { //定义一个数组 int[]arr= {84,26,34,76,91,58,24,61}; insertSort(arr); print

YL12261022的博客 193

常用排序算法总结3一一插入排序

定义 插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。

MyBlog 1036

常用排序算法(插入排序)

插入排序使用的是增量(incremental)方法;在排好子数组A[1..j-1]后,将A[j]插入,形成排好序的子数组A[1..j]。更多信息请参考:http://baike.baidu.com/view/396887.htm C语言代码: 1 #include <stdlib.h> 2 #include <stdio.h> 3 #include &lt...

weixin_33728268的博客 209
上一篇: 常用排序算法之快速排序
下一篇: 常用排序算法之希尔排序
handy周
handy周 领域专家: 操作系统技术领域 领域专家: 操作系统技术领域
博客等级 码龄14年 507粉丝 240原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值