Java数组排序-插入排序

插入排序是从已经排序的数组中找到新元素的位置

两层循环:
  1 外层循环负责获取没有排序的一个元素.外循环从1开始
  2 内循环负责在已经排序的数组中给未排序元素找位置

public class InsertDemo {
	public static void main(String[] args) {
		int[] arr = new int[] { 4, 3, 2, 1 };

		int[] arr2 = getInsert(arr);
		for (int a : arr2) {
			System.out.print(a + " ");
		}
	}

	public static int[] getInsert(int[] arr3) {
		// 4,3,2,1
		// 第一次比较:i=1 j=1 3,4,2,1
		// 第二次比较:i=2 j=2 3,2,4,1
		// 			   j=1 2,3,4,1
		// 第三次比较 i=3 j=3 2,3,1,4
		// 			  j=2 2,1,3,4
		// 			  j=1 1,2,3,4
		for (int i = 1; i < arr3.length; i++) {
			for (int j = i; j > 0; j--) {
				if (arr3[j - 1] > arr3[j]) {
					int temp = arr3[j - 1];
					arr3[j - 1] = arr3[j];
					arr3[j] = temp;
				}
			}
		}
		return arr3;
	}
}


猜你喜欢

转载自blog.csdn.net/oman001/article/details/76268743
今日推荐