首页 > 编程学习 > 【java】插入排序及插入排序优化

【java】插入排序及插入排序优化

发布时间:2022/8/12 13:43:59

【java】插入排序及插入排序优化

交换法插入排序

在新数字插入过程中,不断与前面的数字交换,知道找到自己合适的位置。

public static void insertSort(int[] arr){
    for(int i = 0; i < arr.length; i++){
        for(int j = i; j>=0&&arr[j]<arr[j-1];j--){
            swap(arr,j,j-1);
        }
    }
}
private static void swap(int[] arr,int i,int j){
    int temp = arr[i];
    arr[i] = arr[j];
    arr[j] = temp;
}

移动法插入排序

public static void insertSort(int[] arr){
for(int i = 1; i < arr.length; i++){
	int currentNumber = arr[i];
	int j = i-1;
	for(; j >= 0 && currentNumber < arr[j]; j--){
		arr[j+1] = arr[j];
	}
	arr[j+1] = currentNumber;
}
}
Copyright © 2010-2022 ngui.cc 版权所有 |关于我们| 联系方式| 豫B2-20100000