package bubblesort;
/*
* 冒泡排序
* 原理:假设有n个数字,进行n-1轮比较;
* 每一轮比较都只会有一个最大或者最小的元素被交换到数组的最左或者最右
* 实现:for循环
* */
public class BubbleSort {
//Step1:preparation
public static void swap(int[] arr,int i,int j){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
//Step2:冒泡排序
public static void sort_asc(int[] arr){
// 控制比较的次数为n-1
for(int i = 0;i < arr.length-1;i++)
//每轮比较选出最大或者最小
for(int j = arr.length-1;j > i;j--){
if(arr[j] < arr[j-1]){
swap(arr, j, j-1);
}
}
}
}
冒泡排序
最新推荐文章于 2024-06-07 09:15:00 发布