1、冒泡排序
之所以叫冒泡排序,是因为很想是水中的泡泡,越往上就越大,所以冒泡排序就是两个临近的数相比较,大的那个后移,所以移到最后就是最大的那个数。
public void bubblingSort(){
int[] arr = {8, 5, 3, 2, 4};
System.out.println("==========冒泡排序===========");
// 冒泡
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j+1]) {
int tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp;
}
}
}
}
2、选择排序
就是选择第i位到最后之中最小的那个数,与第i位进行交换。
public void selectSort(){
int[] arr = {8, 5, 3, 2, 4};
System.out.println("==========选择排序===========");
// 选择
for (int i = 0; i < arr.length; i++) {
int min = arr[i];
int index = i;
// 查找从i到最后之间最小到值和下标进行记录
for (int j = i + 1; j < arr.length; j++) {
if (arr[j] < min) {
min = arr[j];
index = j;
}
}
// 交换i和最小到下标值
int tmp = arr[i];
arr[i] = arr[index];
arr[index] = tmp;
}
}
3、插入排序
每次遍历到第i个数,都要跟前面的遍历过的数进行比较,如果前面的数大于第i个数就要进行交换。
public void insertSort(){
int[] arr = {8, 5, 3, 2, 4};
System.out.println("==========插入排序===========");
// 插入
for (int i = 1; i < arr.length; i++) {
for (int j = i; j > 0; j--) {