当前位置: 首页 > news >正文

算法(七)插入排序

文章目录

  • 插入排序简介
  • 代码实现

插入排序简介

  • 插入排序(insertion sort)是从第一个元素开始,该元素就认为已经被排序过了。
  • 然后取出下一个元素,从该元素的前一个索引下标开始往前扫描,比该值大的元素往后移动。
  • 直到遇到比它小的元素时候,比它小元素的下一个元素就是该元素的位置;当索引值为0的时候,那么索引为0的位置就是该元素的位置。

代码实现

package com.xxliao.algorithms.sort.insertion_sort;/*** @author xxliao* @description: 插入排序* @date 2024/5/30 21:44*/
public class InsertionSort {public static void main(String[] args) {int[] array = {1,6,2,6,8,3,8,3,9,3,4,6,56,8};System.out.print("排序前:");printArray(array);sort(array);System.out.print("排序后:");printArray(array);}/*** @description  插入排序* @author  xxliao* @date  2024/5/30 21:46*/public static void sort(int[] array) {for (int i = 1; i <= array.length - 1; i++) {int temp = array[i]; //记录当前值int j = i -1; //记录值索引的前一个值,也就是当前值,需要和前面0 ~  i-1 范围的值进行比较。while(j >= 0 && array[j] > temp) { //前面的值 比 后面的值大,进行交换array[j+1] = array[j]; // 将大的值往后移动一位,原值在temp中j--;}// 找到放置的位置,赋值array[j+1] = temp;printArray(array);}}/*** @description  打印数组* @author  xxliao* @date  2024/5/30 21:47*/public static void printArray(int[] array) {for (int i = 0; i <= array.length - 1; i++) {System.out.print(array[i]+" ");}System.out.println();}
}

演示结果:
在这里插入图片描述

http://www.lryc.cn/news/358651.html

相关文章:

  • 抖音太可怕了,我卸载了
  • AI大模型在测试中的深度应用与实践案例
  • OOP一元多项式类(运算符重载)
  • Docker compose 的方式一键部署夜莺
  • 解锁私域流量的奥秘:构建独特的私域生态
  • 在CentOS系统上安装Oracle JDK(华为镜像)
  • 7 步解决Android Studio模拟器切换中文输入
  • 如何搭建B2B2C商城系统?开发语言、功能扩展、优势分析
  • Rust的高效易用日志库—tklog
  • LabVIEW调用外部DLL(动态链接库)
  • Python图形界面(GUI)Tkinter笔记(十六):Radiobutton选项功能按钮(单选按钮)
  • 静态路由原理与配置
  • Android 开机动画的启动过程BootAnimation(基于Android10.0.0-r41)
  • Redis 中的 Zset 数据结构详解
  • Python网页处理与爬虫实战:使用Requests库进行网页数据抓取
  • HOW - vscode 使用指南
  • 刚刚!《国家科学技术奖励条例》迎来最新修订
  • MySQL -- SQL笔试题相关
  • VB6 MQTT为什么在物联网应用中使用 MQTT 而不是 HTTP?
  • 软设之希尔排序
  • WPF Binding对象
  • Educational Codeforces Round 127 D. Insert a Progression
  • 树莓集团:构筑全国数字影像生态链
  • 物联网——TIM定时器、PWM驱动呼吸灯、舵机和直流电机
  • Elasticsearch 认证模拟题 -2
  • Java-----Comparable接口和Comparator接口
  • 通信技术体会
  • Linux系统安全及其应用
  • JVM内存划分类加载的过程双亲委派模型的详解
  • Java异常详解