一、文字描述

a、
初始数组的元素若为: 43,17,36,15,69, 40
排序规则:假设为升序排列;
开始阶段:从第二个数字17开始,只需判断17是否在正确的位置;
比较阶段:将17和其左边的数字比较,即比较1743,结果1743小;
操作阶段:交换1743的位置,结束
第一次排序后:17, 43, 36, 15, 69, 40
b、
初始数组元素为: 17, 43, 36, 15, 69, 40
排序规则:假设为升序排列;
开始阶段:从第三个数字36开始,只需判断36是否在正确的位置;
比较与操作阶段:将36和其左边的数字比较,即比较3643,结果3643小,交换3643的位置,此时原序列变为 17, 36, 43, 15, 69, 40 ,36继续与左边的数字17比较,结果3617大,无需移位,结束
第二次排序后: 17, 36, 43, 15, 69, 40
c、
初始数组元素为: 17, 36, 43, 15, 69, 40
排序规则:假设为升序排列;
开始阶段:从第四个数字15开始,只需判断15是否在正确的位置;
比较与操作阶段:将15和其左边数字比较,即比较1543,结果1543小,交换1543的位置,此时原序列变为 17, 36, 1543, 69, 40 ,15继续与左边的数字36比较,结果1536小,交换1536的位置,15继续与左边的数字17比较,结果1517小,交换两者位置,此时15在序列最左侧,比较结束
第三次排序后: 15, 17, 36, 43, 69, 40
d、
按上边的操作继续,最后可得出排序的最终结果为151736404369

二、代码实现

public class Insert_sort {public static void main(String[] args) {int[] num = new int[]{43, 17, 36, 15, 69, 40};System.out.print("原序列:");for (int i : num) {System.out.print(i + " ");}insertSort(num);System.out.println("\n------------------------------");System.out.print("排序后:");for (int i : num) {System.out.print(i + " ");}}public static void insertSort(int[] num) {//比较点(充当大小比较的值)(或称需插入的元素)int insert;//外层for循环表示比较点的更替操作//从第二个元素开始比较,比较对象的位置将始终位于比较点的左边for (int i = 1; i < num.length; i++) {//比较点赋值,经过外层for循环,比较点依次后移,直至数组末尾insert = num[i];//j为比较对象,将始终位于比较点的左边一个位置int j = i -1;//内层while循环表示元素比较与元素移位的操作//当前比较点与其左边一个位置的元素进行大小比较while(j >= 0 && insert < num[j]) {//若比较点的值小于其左边一个元素,则将值较大的元素(即比较点左边一个元素)后移num[j + 1] = num[j];//比较点依次与其左边的元素进行比较,直至与第一个元素比较或左边的序列符合排序规则而无需移位操作时结束j--;}//当前比较点的值大于其左边一个元素,符合升序排列规则,无需元素移位,直接将当前比较点插入数组num[j + 1] = insert;}}
}

控制台,程序运行结果:

Java排序算法之插入排序(图文描述)相关推荐

  1. java排序算法(插入排序,冒泡排序,选择排序)

    java排序算法(插入排序,冒泡排序,选择排序) 先了解原理,然后自己跟着敲一下,加深印象 CMD编译命令:javac -encoding utf-8 SortList.java && ...

  2. JAVA排序算法之插入排序

    基本介绍: 插入式排序属于内部排序法,是对于欲排序的元素以插入的方式找寻该元素的适当位置,以达到排序的目的. 插入排序法思想: 插入排序(Insertion Sorting)的基本思想是:把 n 个待 ...

  3. 插入排序算法 java_排序算法实现-插入排序(Java版本)

    原标题:排序算法实现-插入排序(Java版本) 插入排序(英语:Insertion Sort)是一种简单直观的排序算法.它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到 ...

  4. Java常见排序算法之插入排序

    一.概述 本节由小千给大家分享Java常见排序算法之插入排序,之前我们说过排序是算法中的一部分.所以我们学习排序也是算法的入门,为了能让大家感受到排序是算法的一部分,我举个例子证明一下:比如麻将游戏, ...

  5. Java排序算法——插入排序(Insertion Sort)

    之前总结了交换排序的冒泡排序与选择排序的简单选择排序,这次我们来看看插入排序的简单插入排序~ 往期传送门: 冒泡排序: Java排序算法--冒泡排序(Bubble Sort)https://blog. ...

  6. java语言冒泡排序法_Java实现八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序等...

    本文实现了八个常用的排序算法:插入排序.冒泡排序.选择排序.希尔排序 .快速排序.归并排序.堆排序和LST基数排序 首先是EightAlgorithms.java文件,代码如下: import jav ...

  7. 【Java】八个常用的排序算法:插入排序、冒泡排序、选择排序、希尔排序 、快速排序、归并排序、堆排序和LST基数排序

    这篇文章主要介绍了Java如何实现八个常用的排序算法:插入排序.冒泡排序.选择排序.希尔排序 .快速排序.归并排序.堆排序和LST基数排序,需要的朋友可以参考下 本文实现了八个常用的排序算法:插入排序 ...

  8. Java排序算法——选择排序

    Java排序算法--选择排序(Selection sort) 传送门 冒泡排序 插入排序 简述 选择排序(Selection sort)是一种简单直观的排序算法.它的工作原理如下.首先在未排序序列中找 ...

  9. Java排序算法之直接选择排序

    Java排序算法之直接选择排序 基本过程:假设一序列为R[0]~R[n-1],第一次用R[0]和R[1]~R[n-1]相比较,若小于R[0],则交换至R[0]位置上.第二次从R[1]~R[n-1]中选 ...

  10. 数据结构与算法:十大排序算法之插入排序

    数据结构与算法:十大排序算法之插入排序 package TopTenSortingAlgorithms;import java.util.Arrays; import java.util.Scanne ...

最新文章

  1. 1084 Broken Keyboard
  2. 《计算机网络》常考概念、英文缩写、公式大全
  3. 石正丽/周鹏团队发表冠状病毒新研究,进一步证明新冠非实验室泄漏
  4. php 自动验证表单类,thinkPHP 表单自动验证功能
  5. 【计算机网络】网络安全 : 实体鉴别 ( 实体鉴别过程 | 不重数机制 | 公钥体质加密不重数 | 中间人攻击 )
  6. 现代信号处理 张贤达_清华信号处理著名学者张贤达去世,享年74岁
  7. POJ3978 Primes【素数筛选+前缀和】
  8. Eclipse Debug 配置
  9. java程序在哪里运行_JAVA代码是怎么运行的
  10. namecheap 添加二级域名
  11. 真实世界里的钢铁侠-特斯拉汽车创始人埃隆·马斯克(Elon Musk)
  12. java里equal与equals_Java中关于==与equal和equals的区别
  13. 本机号码认证黑科技:极光(JG)开发者服务推出“极光认证”新产品
  14. 有人对你说辛苦了要怎么回复
  15. 【python】根据pixiv网站的图片url下载图片到本地
  16. Python实现飞机大战(搞怪)游戏!这是你没见过的全新版本!
  17. Win10玩dnf输入法图标消失怎么办?
  18. 手动搭建redis集群
  19. Learning a Deep Single Image Contrast Enhancer from Multi-Exposure Images阅读札记
  20. Anti-Roll Bar -- 防倾杆

热门文章

  1. C++中名字隐藏,名字查找优先于类型检查
  2. HIBTC谈比特币交易平台安全架构
  3. ecshop快速购买
  4. 机器学习之K-means算法
  5. java 拉钩技术_拉钩JAVA高薪训练营笔记汇总
  6. 拓端tecdat|R语言非线性回归nls探索分析河流阶段性流量数据和评级曲线、流量预测可视化
  7. 拓端tecdat:R语言RStan MCMC:NUTS采样算法用LASSO 构建贝叶斯线性回归模型分析职业声望数据
  8. 拓端tecdat|R语言对混合分布中的不可观测与可观测异质性因子分析
  9. 拓端tecdat|R语言使用特征工程泰坦尼克号数据分析应用案例
  10. 关于计算机的英语笑话,听笑话学英语:If Life Were Like A Computer假如生活是一台电脑...