完美诠释java插入排序

package com.kaige.demo;
/**
* 插入排序(使用场景,7个元素以下的排序)
* */
public class straight_insertion_sort {
public static void InsertSort(int [] arr){
int i,j;//两个Int类型变量
int n=arr.length;//数组长度
int target;//临时值
for(i=1;i<n;i++){
j=i;
target=arr[i];
while(j>0&&target<arr[j-1]){
arr[j]=arr[j-1];//当临时值小于前一位元素值时,换位
j--;
}
arr[j]=target;
}
}

/**
* arr={3,1,6,4};
* 第一次分析:j=i=1;target=arr[1]=1; 满足while条件j>0&&1<3;移位 arr[1]=arr[0] -> 1364
* 第二次分析:j=i=2;target=arr[2]=6;不满足while;可得 1364;
* 第三次分析:j=i=3;target=arr[3]=4; 满足while条件j>0&&4<6;移位 arr[3]=arr[2] -> 1346
* */
public static void main(String[] args) {
int[] arr={3,1,6,4};
InsertSort(arr);
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}

猜你喜欢

转载自st4024589553.iteye.com/blog/2404821