排序算法--冒泡排序(Java实现)

时间:2025-05-11 08:58:28
  • package .sort;
  • import ;
  • /**
  • *
  • * @ClassName: BubbleSortTest
  • * @Description: 冒泡排序
  • * @Author: liulianglin
  • * @DateTime 202296日 下午7:49:17
  • *
  • * 算法思想:
  • 1.比较相邻的两个元素,如果第一个元素大于第二个元素,就交换位置
  • 2.对每一对相邻的元素再做同样的比较,从最开始的一对到结尾的一对完成全部的比较。最后一个元素肯定最大的
  • 3.对剩下的元素重复第二步操作,直到只有一个元素为止
  • */
  • public class BubbleSortTest {
  • public static void main(String[] args) {
  • int[] arr = {12,3,33,11,32,9,8,5};
  • ("排序前:" + (arr));
  • // 控制循环趟数
  • for (int i=0; i < arr.length-1; i++) {
  • // 是否发生交换
  • boolean isSwap = false;
  • for (int j=0; j<arr.length-1-i; j++) {
  • if (arr[j] > arr[j+1]) {
  • // 进行交换
  • int tmp = arr[j];
  • arr[j] = arr[j+1];
  • arr[j+1] = tmp;
  • isSwap = true;
  • }
  • }
  • ("第"+i+"次:"+(arr));
  • if (!isSwap) {
  • // 如果没有发生交换,则说明已经是有序的了,不用再进行额外的排序,做无用功
  • break;
  • }
  • }
  • }
  • }