zoukankan      html  css  js  c++  java
  • java 冒泡排序

    思路

    1. 将序列当中的左右元素,依次比较,保证右边的元素始终大于左边的元素;( 第一轮结束后,序列最后一个元素一定是当前序列的最大值;)
    2. 对序列当中剩下的n-1个元素再次执行步骤1。
    3. 对于长度为n的序列,一共需要执行n-1轮比较

    时间复杂度

    最佳情况:T(n) = O(n) 最差情况:T(n) = O(n2) 平均情况:T(n) = O(n2)

    代码

    
    import java.util.Arrays;
    
    /**
     * 冒泡排序
     * @author remainsu
     * @version 1.0 2019-05-29
     */
    public class BubbleSort {
    
        /**
         * 排序方法
         * @param arr 要排序的数组
         * @return toString 方便输出
         */
        public static String bubbleSort(int[] arr) {
    
            int tmp;
            //int count = 0;
            // 冒泡次数
            for(int a=0; a<arr.length-1; a++ ) {
                
                //count = a+1;
                boolean flag = false;
                // 比较未移动的
                for(int b=0; b<arr.length-a-1; b++ ) {
                    // 后面的小于前面的,则互换位置
                    if(arr[b+1] < arr[b]) {
                        tmp = arr[b];
                        arr[b] = arr[b+1];
                        arr[b+1] = tmp;
                        
                        //有数据移动,则状态标位true
                        flag = true;
                    }
                }
                //没有数据移动,即数组已经有序,直接退出
                if(!flag) break;
            }
            
            //System.out.println("冒泡的次数:"+ count);
            return Arrays.toString(arr);
        }
        
        public static void main(String[] args) {
            
            int[] arr = {111, 3, 5, 52, 74, 312, 75, 3, 764, 3, 2111, 7, 31};
            //int[] arr = {1,2,10,3,4,5,6,7,8,9};
            
            System.out.println("排序后的数组:"+ bubbleSort(arr));
        }
        
    

    参考

    1. https://blog.csdn.net/hellozhxy/article/details/79911867
    Souviens Toi Que Tu Vas Mourir !
  • 相关阅读:
    Linux环境下安装python3
    软件测试类型
    系统测试分类
    测试级别
    测试对象的介绍
    软件测试基本介绍
    简易留言板(还有一些小bug,修复ing...)
    Hosting static website on AWS
    Add a dependency in Android Studio
    Python good tutorials
  • 原文地址:https://www.cnblogs.com/remainsu/p/java-mao-pao-pai-xu.html
Copyright © 2011-2022 走看看