直接插入排序比较傻,这里不做过多的介绍。原理就是在本数组中让比自己大的元素往后挪至自己的位置,自己往前挤。
package com.h3c.paixu;
public class 直接插入排序Demo {
public static void main(String[] args) {
// 1. 初始化一个无序数组
int[] myArr = { 23, 35, 73, 27, 4, 77, 54, 84, 47, 56, 34, 32, 75, 32,
31, 0, 99, 7, 54, 57 };
myArr = 直接插入排序(myArr);
for (int i : myArr) {
System.out.print(i + " ");
}
System.out.println("");
}
public static int[] 直接插入排序(int[] myArr) {
// 遍历数组
for (int n = 0; n < myArr.length; n++) {
//遍历已经排序了的数组
for (int k = 0; k < n; k++) {
//比较大小
if (myArr[k] > myArr[n]) {
int temp = myArr[n];
for (int j = n; j > k; j--) {
myArr[j] = myArr[j - 1];
}
myArr[k] = temp;
break;
}
}
}
return myArr;
}
}