public class Test01 {
public static void main(String[] args) {
int[] arr = {23,65,-54,5,54,32,-5};
insertSort(arr);
System.out.println(Arrays.toString(arr));
}
public static void insertSort(int[] arr) {
//如果数组长i;那么就要插入i-1次,因为第一个数不需要插入
for(int i=0;i<arr.length-1;i++) {
int index = i+1;//从第二个数开始插
int value = arr[i+1];//存储要插入数组的值
while(index > 0&&value < arr[index-1]) {
//如果插入的值小于数组前一个的值,
//将前面的值赋给当前的数组成员,保证最大值在后面
//最大值赋给最后面,但是赋值的那个数组成员的数值还是没有变
arr[index] = arr[index-1];
index--;
}
arr[index] = value;
}
}
}
插入排序
最新推荐文章于 2024-10-01 23:05:47 发布