排序算法之冒泡排序(Java)
思路:相邻两个数比较大小,一次排序一个,排出最大值或者最小值。
第一轮排序下来找到了最大的数,排在arr.length-1位置上;
然后第二轮排序找到第二大的数,排在arr.length-2位置上;
依次类推,一直到还剩下一个数,排序结束。
public class 冒泡排序 {
public static void bubbleSort(int[] arr) {
//判断边界条件,当数组小于2个数字的时候,不用排序直接返回
if(arr == null||arr.length<2){
return ;
}
//控制排序次数
//每次排序一个数字,最大数排序到数组最后一位
//每次循环减一,排序的最大数位置减一
for(int i = arr.length-1 ; i > 0 ; i--){
//每次对比自己和后一位数字大小,如果自己大,就和后一位交换
for(int j = 0; j < i; j++){
if(arr[j] > arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
}
本内容均为个人学习使用
浙公网安备 33010602011771号