Java数组06(冒泡排序)

  • 冒泡的代码两层循环,外层冒泡轮数,里层依次比较

    • 比较数组中,两个相邻的元素,如果的一个数比第二个数大,我们就交换他们的位置

    • 每一次比较,都会产生出一个最大,或者最小的数字

    • 下一轮则可以少一次排序!

    • 依次循环,直到结束(嵌套循环,算法的复杂度为O(n^2))

      package com.zhangyi.array;
      
      
      import java.util.Arrays;
      
      public class arrayDemo05 {
          public static void main(String[] args) {
              int[] array={1,3,2,5,5,6,4,78,6};
              int temp=0;//临时变量
              //外层循环,判断走多少次
              for (int i = 0; i < array.length-1; i++) {
                  //内层循环,比较两数大小
                //  boolean flag=false;(增加这一语句,通过flag标识符,减少没有意义的比较)
                  for (int j = 0; j < array.length-1-i; j++) {
                      if(array[j]>array[j+1]){
                          temp=array[j];
                          array[j]=array[j+1];
                          array[j+1]=temp;
                       //   flag=true;
                      }
                  }
                 /* if (flag==false){
                      break;
                  }*/
              }
              System.out.println(Arrays.toString(array));
          }
      }
      
      
      

      每日分享:

      低头赶路,敬事如仪

posted @ 2022-10-13 20:55  张一*  阅读(25)  评论(0)    收藏  举报