!!!排序仅针对于数组哦本次排序是按照升序来的哦 介绍 插入排序英文名为InsertSort 基本思路 1、认为数组当中的第一个数值已经排好序了2、定义一个游标从第二个数值开始不断地向后进行遍历3、游标指向的数据插入已经排好序的数组中 代码 <!----java-----> public static void main(String[] args) {int[] arr={10,2,3,8,1,9};sort(arr);System.out.println(Arrays.toString(arr));}public static void sort(int[] arr){// 默认第一个已经排好序了,所以我们从第二个元素开始for(int i=1;i<arr.length;i++){// 定义游标j,依次从后往前遍历for(int j=i;j>0;j--){// 前一个数比当前数小,交换if(arr[j-1]>arr[j]){int temp = arr[j];arr[j] = arr[j-1];arr[j-1] = temp;}}}}<!------------------------> 运行结果; [1, 2, 3, 8, 9, 10] <!----python-----> def insertSort(arr):for i in range(1,len(arr)):for j in range(i,0,-1):if arr[j-1]>arr[j]:arr[j],arr[j-1] = arr[j-1],arr[j];print(arr)arr=[10,2,3,8,1,9]; insertSort(arr) <!------------------------> 运行结果; [1, 2, 3, 8, 9, 10] 老规矩,上图 复杂度 时间复杂度为:O(n²)空间复杂度为:O(1)它是稳定排序,意味着相等元素的相对顺序在排序后保持不变。