本文已参与「新人创作礼」活动,一起开启掘金创作之路。
直接插入排序算法
从后向前找到合适位置后插入
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+" ");
}