插入排序
排序原理:
- 把所有的元素分为两组,已经排序的和未排序的;
- .找到未排序的组中的第一个元素,向已经排序的组中进行插入;
- 倒叙遍历已经排序的元素,依次和待插入的元素进行比较,直到找到一个元素小于等于待插入元素,那么就把待
插入元素放到这个位置,其他的元素向后移动一位;
演示
插入排序
代码
public class InsertionSort {
public static void main(String[] args) {
int[] arr = {14, 21, 2, 32, 29, 43, 43, 13, 12, 30, 19, 34, 38, 8, 48};
sort(arr);
for (int a : arr) {
System.out.print(a + ", ");
}
}
public static void sort(int[] arr) {
for (int i = 1; i < arr.length; i++) {
for (int j = i; j > 0; j--) {
if (arr[j] < arr[j - 1]) {
int tmp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = tmp;
} else {
break;
}
}
}
}
}