您现在的位置是:首页 > 后台技术 > 数据结构与算法数据结构与算法
插入排序法(图文)
第十三双眼睛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:
很赞哦! ()