摘要:插入排序,简单的理解就是找到适当的位置后插入。如下图代码实现如下数组为空或者只有一个数字时返回定义来保存当前的数遇到比小的数时跳出当前循环位置的数即为比小的数,因此插到后一位
插入排序,简单的理解就是找到适当的位置后插入。
如下图
代码实现如下:
public static void insertSort(int[] nums) { //数组为空或者只有一个数字时返回 if(nums == null || nums.length < 2) return; //定义temp来保存当前的数 int temp = 0; for(int i = 1; i < nums.length; i++) { temp = nums[i]; int j; for(j = i-1; j >= 0; j--) { if(temp < nums[j]) { nums[j+1] = nums[j]; }else { //遇到比temp小的数时跳出当前循环 break; } } //j位置的数即为比temp小的数,因此插到后一位 nums[j+1] = temp; } }
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/71314.html
摘要:常见的内部排序算法有插入排序希尔排序选择排序冒泡排序归并排序快速排序堆排序基数排序等。插入排序在实现上,通常采用排序即只需用到的额外空间的排序,因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。 常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。用一张图概括: showImg(https://segm...
摘要:常见的内部排序算法有插入排序希尔排序选择排序冒泡排序归并排序快速排序堆排序基数排序等。插入排序在实现上,通常采用排序即只需用到的额外空间的排序,因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。 常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。用一张图概括: showImg(https://segm...
摘要:常见的内部排序算法有插入排序希尔排序选择排序冒泡排序归并排序快速排序堆排序基数排序等。插入排序在实现上,通常采用排序即只需用到的额外空间的排序,因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。 常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。用一张图概括: showImg(https://segm...
摘要:当序列本身有序时,插入排序的时间复杂度为。因为此时的分区内数据往往是近似有序的,所以使用快排并不一定优于插入排序。 声明:码字不易,转载请注明出处,欢迎文章下方讨论交流。 前言:Java数据结构与算法专题会不定时更新,欢迎各位读者监督。本篇文章介绍排序算法中插入排序算法,包括插入排序的思路,适用场景,性能分析,java代码等 0、其他排序算法索引(待更) java数据结构与算法——快速...
摘要:直接插入排序的算法重点在于寻找插入位置。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。简单选择排序常用于取序列中最大最小的几个数时。将新构成的所有的数的十位数取出,按照十位数进行排序,构成一个序列。 1.直接插入排序 直接插入排序算法是排序算法中最简单的,但在寻找插入位置时的效率不高。基本思想就是将一个待排序的数字在已经排序的序列中寻找找到一个插...
摘要:向后移动位简单选择排序基本思想常用于取序列中最大最小的几个数时。代码实现循环次数选出最小的值和位置交换位置堆排序基本思想对简单选择排序的优化。 概述 常见的八大排序算法,它们之间的关系如下: showImg(https://segmentfault.com/img/remote/1460000011395738?w=880&h=671); 直接插入排序 希尔排序 简单选择排序 堆排序...
阅读 2160·2023-04-25 19:06
阅读 1358·2021-11-17 09:33
阅读 1740·2019-08-30 15:53
阅读 2535·2019-08-30 14:20
阅读 3519·2019-08-29 12:58
阅读 3512·2019-08-26 13:27
阅读 486·2019-08-26 12:23
阅读 470·2019-08-26 12:22