排序算法SIX:冒泡排序BubbleSort

时间:2023-12-28 19:48:53
 /**
  *冒泡排序:
  *    两个两个比较,一轮过后最大的排在了最后面
  *    n个数变为n-1个没排好的数
  *    再进行一轮
  *    第二大的排在了倒数第二个
  *    以此类推
  *    直到排到第一个为止
  *
  *    弄两个循环,相邻两个数比较
  */
 public  class  BubbleSort
 {
     /**
      *冒泡排序主方法
      *
      */
     public  static  void  bubbleSort(int[] resouceArr)
     {
         for(int i = 0 ; i <= resouceArr.length - 1 ; i++)
         {
             //数组下标是数组长度-1 , n-1个j,最后一个不能算所以还要-1
             //一趟排序完成后,数组大小减小1个,因为后面的已经排好序了。
             for(int j = 0 ; j <= resouceArr.length -1 - 1 - i ; j++)
             {
                 if(resouceArr[j] > resouceArr[j+1])
                 {
                     int temp = resouceArr[j];
                     resouceArr[j] = resouceArr[j+1];
                     resouceArr[j+1] = temp;
                 }
             }
         }
     }

     public  static void  main(String[] args)
     {
         int[] bubbleArr = new int[]{1,3,6,2,7,9,5,8};
         bubbleSort(bubbleArr);
         for(int i : bubbleArr)
         {
             System.out.println(i);
         }
     }
 }