首页 > 编程语言 > 详细

Java数组06——冒泡排序

时间:2021-07-29 10:53:11      阅读:12      评论:0      收藏:0      [点我收藏+]

冒泡排序

例子:
 package array;
 ?
 import java.util.Arrays;
 ?
 public class ArrayDemon08 {
     public static void main(String[] args) {
         int[] a={1,3,2,4,6,5};
         int[] sort=sort(a);// 调用完我们自己写的排序方法以后,返回一个排序的数组
         System.out.println(Arrays.toString(a));// 打印数组
    }
 ?
     //冒泡排序 O(n*n)
     //1. 比较数组中两个相邻的元素,如果第一个数比第二个数大,我们就交换他们的位置
     //2. 每一次比较都会产生一个最大或者最小的数字
     //3. 下一轮可以少依次排序
     //4. 依次循环,直到结束!
 ?
                  //数组类型
     public static int[] sort(int array[]){
         int temp=0;
         // 外层循环,判断我们要走几趟
         for (int i = 0; i <array.length ; i++) {
 ?
             boolean flag=false;// 通过flag标识位减少没有意义(已经有序)的比较
 ?
             // 内层循环,比较判断两个数,符合条件就交换
 ?
             for (int j = 0; j <array.length-1-i ; j++) {
                 if(array[j+1]<array[j]){
                     temp=array[j];
                     array[j]=array[j+1];
                     array[j+1]=temp;
                     flag=true;
                }
            }
             if(flag=false){//表明已经有序了 不用在另外比较
                 break;
            }
 ?
        }
         return array;// 返回数组
    }
 }
 ?

学习内容源自视频:b站狂神说Java

 

Java数组06——冒泡排序

原文:https://www.cnblogs.com/lwtyyds/p/15073493.html

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