冒泡排序:

private static void bubbleSort(int[] arr) {
if (arr == null || arr.length == 1) return;
for (int i = 0; i < arr.length - 1; i++) {//循环的次数
boolean isChange = false;
for (int j = 0; j < arr.length - 1 - i; j++) {//前后比较大小
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
isChange = true;
}
}
if (!isChange) return;
}

}

选择排序:

private static void selectSort(int[] arr) {
if (arr == null || arr.length == 1) return;
int minIndex;
for (int i = 0; i < arr.length - 1; i++) {//比较次数
minIndex = i;
for (int j = i + 1; j < arr.length; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}

}

插入排序:

private static void insertionSort(int[] arr) {
if (arr == null || arr.length == 1) return;
for (int i = 1; i < arr.length; i++) {//比较次数
int temp = arr[i];//用于比较的值
int leftInex = i - 1;
while (leftInex >= 0 && arr[leftInex] > temp) {
arr[leftInex + 1] = arr[leftInex];
leftInex--;
}
arr[leftInex + 1] = temp;
}

}