插入排序
排序原理:直接插入排序,是一种最简单的排序方法,他的基本操作是将一个记录插入到长度为m的有序表中,使之保持有序。
如果实在弄不懂第一个外层for循环,可以简单把它当成一个计数器来理解。
/*int[] arrays = {1,12,2,6,4,7,5,3};
[1] 12 [1.12];
[1,12] 2 [1,2,12]
[1,2,12] 6 [1,2,6,12]
[1,2,6,12] 4 [1,2,4,6,12]
*/
示例:
package com.excersice;
import java.util.Arrays;
public class Demo15 {
public static void main(String[] args) {
int[] arrays = {1,22,19,12,15,2,6,4,7,5,3};
//插入排序
//先增加一个计数器,即外部循环
for (int i = 0; i < arrays.length; i++) {
//第一次比较是用第1位和第0位比较,第二次比较是用第2位分别和第1位和第0位比较,后面一次类推
for (int j = i+1; j < arrays.length && j>0; j--) {
if (arrays[j]<arrays[j-1]){
int temp = arrays[j];
arrays[j] = arrays[j-1];
arrays[j-1] = temp;
}
}
}
System.out.println(Arrays.toString(arrays)); //[1, 2, 3, 4, 5, 6, 7, 12, 15, 19, 22]
}
}