直接插入排序

85 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

直接插入排序算法
从后向前找到合适位置后插入
34,4,56,17,90,65
第一轮:i=1,temp=4 34,34,56,17,90,65
4,34,56,17,90,65
第二轮:i=2,temp=56 4,34,56,17,90,65
第三轮:i=3,temp=17 4,34,56,56,90,65
4,34,34,56,90,65
4,17,34,56,90,65
第四轮:i=4,temp=90 4,17,34,56,90,65
第五轮:i=5,temp=65 4,17,34,56,90,90
4,17,34,56,65,90

		int[] nums = {34,4,56,17,90,65};
//		控制轮数
		for (int i = 1; i < nums.length; i++) {
			int temp = nums[i];//记录操作数
			int j = 0;
			for (j = i-1; j >= 0; j--) {
				if (nums[j] > temp) {
					nums[j+1] = nums[j]; 
				}else {
					break;
				}
			}
			if (nums[j+1] != temp) {
				nums[j+1] = temp;
			}
		}
		for (int i : nums) {
			System.out.print(i+" ");
		}