推导过程
代码实现
package com.atguigu.sort;import java.util.Arrays;/*** @创建人 wdl* @创建时间 2021/3/21* @描述*/
public class BubbleSort {public static void main(String[] args) {int arr[]={3,9,-1,10,-2};//为了容易理解,我们吧冒泡排序的演变过程给大家展示//第一趟排序,就是将最大的数排在最后//冒泡排序 的时间复杂度O(n^2)int temp=0;//临时变量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]){temp=arr[j+1];arr[j+1]=arr[j];arr[j]=temp;}}System.out.println("第"+(i+1)+"趟排序后的数组");System.out.println(Arrays.toString(arr));}// //第二趟排序,就是将第二大的数排在倒数第二位
// for (int j = 0; j < arr.length - 1-1; j++) {
// //如果前面的数比后面的数大,则交换
// if(arr[j]>arr[j+1]){
// temp=arr[j+1];
// arr[j+1]=arr[j];
// arr[j]=temp;
// }
// }
// System.out.println("第二趟排序后的数组");
// System.out.println(Arrays.toString(arr));
//
// //第三趟排序,就是将第三大的数排在倒数第三位
// for (int j = 0; j < arr.length - 1-2; j++) {
// //如果前面的数比后面的数大,则交换
// if(arr[j]>arr[j+1]){
// temp=arr[j+1];
// arr[j+1]=arr[j];
// arr[j]=temp;
// }
// }
// System.out.println("第三趟排序后的数组");
// System.out.println(Arrays.toString(arr));
//
// //第四趟排序,就是将第四大的数排在倒数第四位
// for (int j = 0; j < arr.length - 1-3; j++) {
// //如果前面的数比后面的数大,则交换
// if(arr[j]>arr[j+1]){
// temp=arr[j+1];
// arr[j+1]=arr[j];
// arr[j]=temp;
// }
// }
// System.out.println("第四趟排序后的数组");
// System.out.println(Arrays.toString(arr));}
}