public class Algo {
private static void print(int num) {
for (int i = 31; i >= 0; i--) {
System.out.print((num & (1 << i)) == 0 ? "0" : "1");
}
System.out.println();
}
private static void printArr(int[] choose_sort) {
for (int i : choose_sort) {
System.out.print(i + " ");
}
System.out.println();
}
public static void swap(int[] arr, int m, int n) {
int temp = arr[m];
arr[m] = arr[n];
arr[n] = temp;
}
public static void chooseSort(int[] arr) {
if (arr == null || arr.length == 1) {
return;
}
int size = arr.length;
for (int i = 0; i < size; i++) {
int minIndex = i;
for (int j = minIndex + 1; j < size; j++) {
minIndex = arr[minIndex] > arr[j] ? j : minIndex;
}
swap(arr, i, minIndex);
}
}
private static void bubbleSort(int[] arr_data) {
if (arr_data == null || arr_data.length == 1) {
return;
}
int size = arr_data.length;
for (int i = size - 1; i >= 0; i--) {
for (int j = 0; j < i; j++) {
if (arr_data[j] > arr_data[j + 1]) {
swap(arr_data, j, j + 1);
}
}
}
}
private static void insertSort(int[] arr_data) {
if (arr_data == null || arr_data.length == 1) {
return;
}
int size = arr_data.length;
for (int i = 1; i < size; i++) {
for (int pre = i - 1; pre >= 0 && arr_data[pre] > arr_data[pre + 1]; pre--) {
swap(arr_data, pre , pre + 1);
}
}
}
public static void main(String[] args) {
int[] arr_data = {1, 4, 64, 32, 7, 5, 3, 2, 1};
printArr(arr_data);
insertSort(arr_data);
printArr(arr_data);
}
}