首页 > 编程语言 > 详细

Java基础练习-冒泡排序

时间:2021-06-06 21:13:52      阅读:15      评论:0      收藏:0      [点我收藏+]

冒泡排序

时间复杂度O(n2)

import java.util.Arrays;
?
public class Demo01 {
   public static void main(String[] args) {
       int[] a={1,2,5,4,9,8};
       int[] sort=sort(a);
       System.out.println(Arrays.toString(sort));
  }
   public static int[] sort(int[] array){  //冒泡排序,每轮数组相邻两个数据比较大小,确定数组中最后一位数字
       for (int i = 0; i < array.length-1; i++) {  //一共要比较 array.length-1 轮
           for (int j = 0; j < array.length-1-i; j++) {
               int temp=0;
               if(array[j]>array[j+1]){
                   temp=array[j];
                   array[j]=array[j+1];
                   array[j+1]=temp;
              }
          }
      }
       return array;
  }
}

 技术分享图片

 

优化

import java.util.Arrays;
?
public class Demo01 {
   public static void main(String[] args) {
       int[] a={1,2,3,4,5,6};
       int[] sort=sort(a);
       System.out.println(Arrays.toString(sort));
  }
   public static int[] sort(int[] array){  //冒泡排序,每轮数组相邻两个数据比较大小,确定数组中最后一位数字
       for (int i = 0; i < array.length-1; i++) {  //一共要比较 array.length-1 轮
           boolean flag=false; //立一个标志,如果数组已经有序,就不继续遍历进行冒泡排序
           for (int j = 0; j < array.length-1-i; j++) {
               int temp=0;
               if(array[j]>array[j+1]){
                   temp=array[j];
                   array[j]=array[j+1];
                   array[j+1]=temp;
                   flag=true;
              }
          }
           if(flag==false){
               break;
          }
      }
       return array;
  }
}

Java基础练习-冒泡排序

原文:https://www.cnblogs.com/hahuhuhaha/p/14855737.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!