package test;
import java.util.Arrays;
public class Sort {
// 冒泡排序
public static void sort1(int[] a) {
for (int i = 0; i < a.length; i++) {
for (int j = i + 1; j < a.length; j++) {
if (a[i] > a[j]) {
int tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}
}
}
System.out.println(Arrays.toString(a));
}
// 选择排序
public static void sort2(int[] a) {
int min;
for (int i = 0; i < a.length; i++) {
min = i;
for (int j = min + 1; j < a.length; j++) {
if (a[j] < a[min]) {
min = j;
}
}
int tmp = a[i];
a[i] = a[min];
a[min] = tmp;
}
System.out.println(Arrays.toString(a));
}
// 插入排序
public static void sort3(int[] a) {
for (int index = 1; index < a.length; index++) {
int key = a[index];
int position = index;
// shift larger values to the right
while (position > 0 && (a[position - 1] > key)) {
a[position] = a[position - 1];
position--;
}
a[position] = key;
}
System.out.println(Arrays.toString(a));
}
public static void main(String[] args) {
int[] a = new int[] { 10, 20, 45, 01, 20, 30, 20, 52, 12, 35 };
// sort1(a);
sort3(a);
}
}