冒泡排序(Bubble Sort)是一種簡(jiǎn)單的排序算法。它重復(fù)地走訪過(guò)要排序的數(shù)列,一次比較兩個(gè)元素,如果他們的順序錯(cuò)誤就把他們交換過(guò)來(lái)。走訪數(shù)列的工作是重復(fù)地進(jìn)行直到?jīng)]有再需要交換,也就是說(shuō)該數(shù)列已經(jīng)排序完成。
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),淮濱企業(yè)網(wǎng)站建設(shè),淮濱品牌網(wǎng)站建設(shè),網(wǎng)站定制,淮濱網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷(xiāo),網(wǎng)絡(luò)優(yōu)化,淮濱網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M(mǎn)足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專(zhuān)業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶(hù)成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
第一次上JAVA課,很多東西還沒(méi)學(xué),代碼越簡(jiǎn)單越好。使用命令符連續(xù)傳遞參數(shù)方式,向程序連續(xù)傳遞任意個(gè)整數(shù)參數(shù),然后按照冒泡排序的原理在程序中實(shí)現(xiàn)參數(shù)由小到大排序,并顯示排序后... 第一次上JAVA課,很多東西還沒(méi)學(xué),代碼越簡(jiǎn)單越好。
首先無(wú)論是哪種語(yǔ)言,各種排序的算法思想都是一樣的。冒泡排序的算法思想是:比較相鄰的元素。如果第一個(gè)比第二個(gè)大,就交換他們兩個(gè)。對(duì)每一對(duì)相鄰元素作同樣的工作,從開(kāi)始第一對(duì)到結(jié)尾的最后一對(duì)。
java.util.Collections類(lèi)中有 sort public static T extends Comparable? super T void sort(ListT list)根據(jù)元素的自然順序 對(duì)指定列表按升序進(jìn)行排序。列表中的所有元素都必須實(shí)現(xiàn) Comparable 接口。
冒泡排序(Bubble Sort)是一種簡(jiǎn)單的排序算法。它重復(fù)地走訪過(guò)要排序的數(shù)列,一次比較兩個(gè)元素,如果他們的順序錯(cuò)誤就把他們交換過(guò)來(lái)。走訪數(shù)列的工作是重復(fù)地進(jìn)行直到?jīng)]有再需要交換,也就是說(shuō)該數(shù)列已經(jīng)排序完成。
由于在排序過(guò)程中總是小數(shù)往前放,大數(shù)往后放,相當(dāng)于氣泡往上升,所以稱(chēng)作冒泡排序。
for(int j=0;imonkeys.length-1-i;j++){ if(monkeys[j].heightmonkeys[j+1].height) //該行會(huì)報(bào)數(shù)組越界錯(cuò)誤 第一行。
after sort:);for(i = 0 ; i length; i++)System.out.print(num[i] + );System.out.println();} } 先編譯PoPo.java,在編譯main.java 執(zhí)行主程序時(shí),輸入一個(gè)數(shù)字敲個(gè)回車(chē),輸入-1時(shí)結(jié)束。
1、冒泡排序法思路 1:外層循環(huán):控制它要走幾次。假設(shè)你有5個(gè)數(shù),那就要走4次,最后一次不用走,最后那個(gè)數(shù)已經(jīng)在它位置了所以就要length-1次。2:內(nèi)層循環(huán):控制逐一比較,如果發(fā)現(xiàn)前一個(gè)數(shù)比后一個(gè)數(shù)大,則交換。
2、冒泡排序(Bubble Sort)是一種簡(jiǎn)單的排序算法。它重復(fù)地走訪過(guò)要排序的數(shù)列,一次比較兩個(gè)元素,如果他們的順序錯(cuò)誤就把他們交換過(guò)來(lái)。走訪數(shù)列的工作是重復(fù)地進(jìn)行直到?jīng)]有再需要交換,也就是說(shuō)該數(shù)列已經(jīng)排序完成。
3、你這是死記硬背的吧,錯(cuò)誤太多了,邏輯都不同。百度一下冒泡排序法,看看怎么個(gè)原理吧,知道了原理就不會(huì)寫(xiě)錯(cuò)。
4、很好懂吧? 從第一個(gè)開(kāi)始 把第二個(gè)到最后一個(gè)跟他比 如果小就交換。一次循環(huán)下來(lái)第一個(gè)一定是數(shù)組中最小的。然后從第二個(gè)開(kāi)始,比較第三個(gè)到最后一個(gè)。以此類(lèi)推。
內(nèi)層循環(huán)一次得到這個(gè)數(shù)組中最大的數(shù)并把它放在數(shù)組最后一個(gè),同時(shí)把內(nèi)層需要再循環(huán)的數(shù)組長(zhǎng)度減1,即去掉數(shù)組中最后一個(gè)數(shù)(也就是最大的一個(gè))。外層循環(huán)控制內(nèi)層循環(huán)執(zhí)行幾次。
例如簡(jiǎn)一點(diǎn)的冒泡排序,將第一個(gè)數(shù)字和后面的數(shù)字逐個(gè)比較大小,如果小于,則互換位置,大于則不動(dòng)。此時(shí),第一個(gè)數(shù)為數(shù)組中的最大數(shù)。然后再將第二個(gè)數(shù)與后面的數(shù)逐個(gè)比較,以次類(lèi)推。
剛才花了2分鐘寫(xiě)了一下,可以滿(mǎn)足你的要求,而且我寫(xiě)代碼用了遞歸,應(yīng)該算是比較精簡(jiǎn)了。你直接新建一個(gè)文件把代碼拷過(guò)去就可以看到效果了。
實(shí)例說(shuō)明 用冒泡排序方法對(duì)數(shù)組進(jìn)行排序。 實(shí)例解析 交換排序的基本思想是兩兩比較待排序記錄的關(guān)鍵字,發(fā)現(xiàn)兩個(gè)記錄的次序相反時(shí)即進(jìn)行交換,直到?jīng)]有反序的記錄為止。
1、思路:依次比較相鄰的兩個(gè)數(shù),將小數(shù)放在前面,大數(shù)放在后面。即在第一趟:首先比較第 1個(gè)和第2個(gè)數(shù),將小數(shù)放前,大數(shù)放后。
2、Input 輸入的第一行含一個(gè)正整數(shù)k (1=k=10),表示測(cè)試?yán)膫€(gè)數(shù),后面緊接著k行,每行對(duì)應(yīng)一個(gè)測(cè)試?yán)粋€(gè)正整數(shù)x。
3、signed:修飾整型數(shù)據(jù),有符號(hào)數(shù)據(jù)類(lèi)型。(C89標(biāo)準(zhǔn)新增)unsigned:修飾整型數(shù)據(jù),無(wú)符號(hào)數(shù)據(jù)類(lèi)型。(K&R時(shí)期引入)restrict:用于限定和約束指針,并表明指針是訪問(wèn)一個(gè)數(shù)據(jù)對(duì)象的唯一且初始的方式。