选择排序
public static void select_sort(int[] array) {
// 外层循环从0到最后一个位置元素
for (int i = 0; i < array.length - 1; i++) {
// 内层循环从当前元素到最后一个元素,也就是无序区间
for (int j = i + 1; j < array.length; j++) {
if (array[i] > array[j]) {
int tmp = array[i];
array[i] = array[j];
array[j] = tmp;
}
}
}
}
冒泡排序
public static void bubble_sort(int[] array) {
// 外层循环,n-1次,代表内层循环比较次数
for (int i = 0; i < array.length - 1; i++) {
// 内层循环从0到无序区间的最大位置
for (int j = 0; j < array.length - i - 1; j++) {
if (array[j] > array[j + 1]) {
int tmp = array[j + 1];
array[j + 1] = array[j];
array[j] = tmp;
}
}
}
}
插入排序
public static void insert_sort(int[] array) {
// 外层循环除第1个元素往后所有元素
for (int i = 1; i < array.length; i++) {
// 内层循环对当前元素到前面有序元素进行待插入位置查找
for (int j = i; j > 0; j--) {
if (array[j] < array[j - 1]) {
int tmp = array[j];
array[j] = array[j - 1];
array[j - 1] = tmp;
}
}
}
}
网友评论