第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

【新手自白書】簡單冒泡排序的實現(xiàn)(JAVA)

標(biāo)簽:
Java

复习一下简单冒泡排序

冒泡排序比较简单,只要懂得其原理很容易写出相应的代码。

  • 重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。(来源百度百科)

根据冒泡排序的定义,我们要做的就是两两依次比较数组data中的数据

if(data[i] > data[i+1]){
    temp = data[i] ;
    data[i] = data[i+1] ;
    data[i+1] = temp ;
}

长度为n的数组,最多需要比较n-1次,只要这个数组在一次循环中没发生过比较,就说明已排序完毕。为了知晓是否发生了比较,要设置一个标志变量flag,当flag的值没有改变就说明循环中未出现过比较,类设计如下:

public class BSort {

    //冒泡排序

    private int[] data = null ;     //排序前
    private int[] array = null ;    //排序后

    public BSort(int[] data){
        this.setData(data) ;        //初始化数据
        this.dataToArray() ;        //自动调用比较算法,可以不放在构造方法中
    }

    private void setData(int[] data){
        this.data = data ;
    }

    public String getArray(){       //以字符串形式输出
        String s = "排序结果为:" ;
        for(int i = 0 ;i < this.array.length ;i++){
            s = s + this.array[i] + " " ;
        }
        return s ;
    }

    private void dataToArray(){
        for(int i = 1 ;i < data.length ;i ++){
            int flag = 0 ;
            for(int j = 0 ;j < data.length - 1 ;j ++){
                if(this.data[j] > this.data[j+1]){
                    int temp = 0 ;
                    temp = this.data[j] ;
                    this.data[j] = this.data[j+1] ;
                    this.data[j+1] = temp ;
                    flag = 1 ;
                }
            }
            if(flag == 0){
                this.array = this.data ;
                break ;
            }
        }
    }
}
  • 测试
public class Test {

    public static void main(String[] args) {

        System.out.println(new BSort(
                new int[]{77,15,22,17,33,77,125})
                .getArray());   
    }

}
  • 测试结果

排序结果为:15 17 22 33 77 77 125

點擊查看更多內(nèi)容
15人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消