思想:比较相邻的元素,如果第一个比第二个大,就交换他们两个

public class BubbleSort {
    
	public static void main() {
        
    } 
    
    public static int[] bubbleSort(int[] nums) {
    	for(int i=0, int< nums.length -1, i++){  //需要对比 nums.length -1 轮,因为最后一轮不用对比
            for(int j = 0, j < nums.length - 1 -i, j++){
                if(nums[j] > nums[j+1]) { // 比较相邻的元素,如果第一个比第二个大,交换两数的位置
					// 交换的记忆方法,首先是定义一个临时变量 temp, 
                    // 然后第2行的 num[j] 与 第一行的末尾nums[j] 是相同的
                    // 第三行的nums[j+1] 与第二行的末尾 nums[j+1] 是相同的
                    // 可以记成追尾:下一行首追着尾部。
                    int temp = nums[j];
                    num[j] = nums[j+1];
                    nums[j+1] = temp;
                }
            }
        }	
    }
}

冒泡排序的过程

如果对5个数进行冒泡排序,比较次数是多少

冒泡排序算法