美文网首页
冒泡排序,升序和降序

冒泡排序,升序和降序

作者: 信号传D | 来源:发表于2019-03-19 23:22 被阅读0次

    利用冒泡排序,对以下数组进行升序和降序 {1,5,12,36,55,78,98}

    private static void fun3() {
            int[] a = {1,12,5,36, 55, 78, 98,88};                    //前半部分是升序排列
            for (int i = 0; i < (a.length-1)/2; i++) {            //外层循环角标a[0]—a.length-1
                for (int j =i; j < (a.length-i-1)/2; j++) {        //内层循环数组中的每个元素
                    if(a[j+1]<a[j]){
                        int t=a[j+1];         //交换位置
                        a[j+1]=a[j];
                        a[j]=t;
                    }
                }
                }
            for (int i = (a.length-1)/2; i < a.length; i++) {          //后半部分是降序排列
                for (int j =i; j < a.length-1; j++) {
                    if(a[j+1]>a[j]){
                        int t=a[j+1];
                        a[j+1]=a[j];
                        a[j]=t;
                    }
                }
            }
            for(int b:a){
                    System.out.print(b+" ");
            }
        }
    

    注意要点:
    1、循环上下限要区分好,在进行一半升序一半降序时,设定上限应该为数组的一半
    2、交换元素时引用第三方变量时,交换方法是斜对角。

    相关文章

      网友评论

          本文标题:冒泡排序,升序和降序

          本文链接:https://www.haomeiwen.com/subject/zroomqtx.html