冒泡排序

  • 冒泡排序 : 将一组数据按照从小到大的顺序进行排序
  • 冒泡排序原理 : 相邻元素两两作比较 , 大的元素往后放 :::info package com.itheima.arraysort_demo.bubblesort_demo;

import java.util.Arrays;

/*
冒泡排序 : 将一组数据按照从小到大的顺序进行排序
冒泡排序的原理 : 相邻元素两两作比较 , 大的元素往后放

需求 : 将数组中的元素 {3,5,2,1,4} 进行升序排序
*/
public class SortDemo {
public static void main(String[] args) {
int[] arr = {3, 5, 2, 1, 4};

// // 第一轮排序
// for (int i = 0; i < arr.length - 1; i++) {
// if (arr[i] > arr[i + 1]) {
// int temp = arr[i];
// arr[i] = arr[i + 1];
// arr[i + 1] = temp;
// }
// }
//
// System.out.println(“第一轮排序:” + Arrays.toString(arr));
//
//
// // 第二轮排序
// for (int i = 0; i < arr.length - 2; i++) {
// if (arr[i] > arr[i + 1]) {
// int temp = arr[i];
// arr[i] = arr[i + 1];
// arr[i + 1] = temp;
// }
// }
//
// System.out.println(“第二轮排序:” + Arrays.toString(arr));
//
//
// // 第三轮排序
// for (int i = 0; i < arr.length - 2; i++) {
// if (arr[i] > arr[i + 1]) {
// int temp = arr[i];
// arr[i] = arr[i + 1];
// arr[i + 1] = temp;
// }
// }
//
// System.out.println(“第三轮排序:” + Arrays.toString(arr));
//
//
// // 第四轮排序
// for (int i = 0; i < arr.length - 2; i++) {
// if (arr[i] > arr[i + 1]) {
// int temp = arr[i];
// arr[i] = arr[i + 1];
// arr[i + 1] = temp;
// }
// }
//
// System.out.println(“第四轮排序:” + Arrays.toString(arr));

// 优化代码
for (int j = 0; j < arr.length - 1; j++) {// 比较的轮次
// 每轮相邻元素比较的次数
for (int i = 0; i < arr.length - 1 - j; i++) {
if (arr[i] > arr[i + 1]) {
int temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
}
}
System.out.println(“第” + (j + 1) + “轮排序:” + Arrays.toString(arr));
}
}
} :::