您现在的位置是:首页 > 后台技术 > 数据结构与算法数据结构与算法
插入排序法(图文)
第十三双眼睛2022-06-20【数据结构与算法】人已围观
简介插入排序法
插入排序法思想:
插入排序的基本思想是:把n个待排序的数堪称一个有序表和一个无序表,开始时有序表中只有一个元素,无序表中有n-1个元素,排序过程中,每次从无序表中取出第一个元素,把他依次与有序表中的元素进行比较,将他插入到有序表中的适当位置,使之称为新的有序表。
程序如下:
测试结果:
[7, 6, 5, 4, 3, 2, 1]
插入排序的基本思想是:把n个待排序的数堪称一个有序表和一个无序表,开始时有序表中只有一个元素,无序表中有n-1个元素,排序过程中,每次从无序表中取出第一个元素,把他依次与有序表中的元素进行比较,将他插入到有序表中的适当位置,使之称为新的有序表。
程序如下:
package day005; import java.util.Arrays; public class InsertSort { public static void main(String[] args) { // 定义原始数组 int [] arr = {4,1,5,2,6,3,7}; insertSort(arr); System.out.println(Arrays.toString(arr)); } public static void insertSort(int [] arr){ for(int i=1;i<arr.length;i++){ // 保存需要插入的元素 int insertValue = arr[i]; // 假设要插入的位置 int insertIndex = i-1; // 循环条件:插入下表没有越界 // 要插入的值大于假设的位置 while (insertIndex>=0&&insertValue>arr[insertIndex]){ // 原本的元素后移 arr[insertIndex+1]=arr[insertIndex]; // 要插入的位置前移 insertIndex--; } // 内层循环退出,说明要插入的位置已经找到 arr[insertIndex+1] = insertValue; } } } |
[7, 6, 5, 4, 3, 2, 1]
Tags:
很赞哦! ()
相关文章
随机图文
翻转二叉树(图文)
翻转二叉树 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。相同的树(图文)
相同的树 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。用队列实现栈(图文)
用队列实现栈 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 实现 MyStack 类: void push(int x) 将元素 x 压入栈顶。 int pop() 移除并返回栈顶元素。 int top() 返回栈顶元素。 boolean empty() 如果栈是空的,返回 true ;否则,返回 false 。Excel 表列序号(图文)
Excel 表列序号 给你一个字符串 columnTitle ,表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。