導航:首頁 > 編程語言 > 冒泡排序java

冒泡排序java

發布時間:2022-01-13 04:30:49

java中的冒泡排序

for(int j=0;i<monkeys.length-1-i;j++)
{
if(monkeys[j].height>monkeys[j+1].height) //該行會報數組越界錯誤

第一行。。for(int j=0;i<monkeys.length-1-i;j++)中的i<monkeys.length-1-i明顯邏輯不對。。該是j<monkeys.length-1-i吧

② java冒泡排序

程序如下:
public class TTT
{
public static void main(String[] args)
{
int[] num = {20,31,65,14,98,49,27,90,16,85};

boolean flag = true;
int count = 1;
while(flag)
{
flag = false;

for(int i=0;i<num.length-1;i++)
{
if(num[i] > num[i+1])
{
int temp = num[i];
num[i] = num[i+1];
num[i+1] = temp;
flag = true;
}
}
System.out.print("第" + count++ +"輪排序後的序列為:");
for(int i=0;i<num.length;i++)
{
System.out.print(num[i] + "\t");
}
System.out.println();
}
}
}

有問題歡迎提問,滿意請採納,謝謝!

③ java實現冒泡排序

你這樣寫,相當於只冒了一次泡,把最大的一個數,也就是最後一個數,找出來了,冒泡排序是要for循環里在嵌套一個for循環才能做出來的,外面的for循環控制冒泡多少次,裡面的循環找出每次的最大值。你這樣寫少了外面的那個for循環,相當於只找了一次最大值。

④ Java冒泡排序

這段代碼的核心是理解JAVA需要集合操作的寫法。
1、第一句,是獲取對象內部成員的句柄,句柄類似c++語言中的指針,只是指向對象,而不是對象本身
2、第二三句是為了修改集合對象內部的內容,此時你無法直接去修改它們(因為假如你只是修改了句柄指向的內容,對於集合來說它根本沒有發生任何變化)
3、集合提供的修改方法,比如set(i,obj),其內部的實現方式是數組,但封裝後沒有提供類似數組一樣的操作,如list[i]=obj,這種寫法。所以你沒法直接這么寫(但是C#語言就提供了這種寫法,所以你如果用C#就可以三句都用等於號賦值)

⑤ JAVA冒泡排序

public class Test{
public static void main(String[] args){
int[][] a=new int[2][2];
int i, j, k;
int temp;
a[0][0]=3;
a[0][1]=5;
a[1][0]=9;
a[1][1]=7;

for(i=0; i<a.length; i++){ //控制二維數組的行
for(j=0; j<a[0].length-1; j++){ //控制冒泡排序的比較趟數
for(k=0; k<a[0].length-1; k++){ //控制每一趟的比較次數
if(a[i][k]>a[i][k+1]){ //如何相鄰兩個元素為逆序則交換
temp=a[i][k];
a[i][k]=a[i][k+1];
a[i][k+1]=temp;
}
}
}
}

//輸出方式1
for(int[] arr : a){ //arr表示一個一維數組
for(int elem : arr){ //elem表示一維數組arr中的一個元素
System.out.print(elem + "\t");
}
System.out.println();
}

//輸出方式2
for(i=0; i<a.length; i++){
for(int elem : a[i]){
System.out.print(elem + "\t");
}
System.out.println();
}

//輸出方式3
for(i=0; i<a.length; i++){
for(j=0; j<a[0].length; j++){
System.out.print(a[i][j] + "\t");
}
System.out.println();
}
}
}

⑥ java冒泡排序法代碼

冒泡排序是比較經典的排序演算法。代碼如下:

for(int i=1;i<arr.length;i++){

for(int j=1;j<arr.length-i;j++){

//交換位置

}

拓展資料:

原理:比較兩個相鄰的元素,將值大的元素交換至右端。

思路:依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即在第一趟:首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。重復第一趟步驟,直至全部排序完成。

第一趟比較完成後,最後一個數一定是數組中最大的一個數,所以第二趟比較的時候最後一個數不參與比較;

第二趟比較完成後,倒數第二個數也一定是數組中第二大的數,所以第三趟比較的時候最後兩個數不參與比較;

依次類推,每一趟比較次數-1;

……

舉例說明:要排序數組:int[]arr={6,3,8,2,9,1};

for(int i=1;i<arr.length;i++){

for(int j=1;j<arr.length-i;j++){

//交換位置

}

⑦ 用java寫個冒泡排序

冒泡排序演算法:

int類型的數組:3 1 6 2 5

第一次循環:

1 3 6 2 5

1 3 6 2 5

1 3 2 6 5

1 3 2 5 6

第二次循環:

1 3 2 5

1 2 3 5

1 2 3 5

第三次循環:

1 2 3

1 2 3

。。。

演算法:取出最大的放在最後,下次就不用比較最後一個了。*/
publicclassBubbleSort{
publicstaticvoidmain(String[]args){
int[]a={3,1,6,2,5};
//開始排序
for(inti=a.length-1;i>0;i--){
for(intj=0;j<i;j++){
if(a[j]>a[j+1]){
//交換位置
inttemp;
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
//遍歷
for(inti=0;i<a.length;i++){
System.out.println(a[i]);
}
}
}

⑧ java冒泡排序詳細講解

就是 一組數字組成的數組,兩兩比較,大的數往後推,小的數向前

從頭開始掃描待排序的元素,在掃描過程中依次對相鄰元素進行比較,將關鍵字值大的元素後移。每經過一趟排序後,關鍵字值最大的元素將移到末尾,此時記下該元素的位置,下一趟排序只需要比較到此位置為止,直到所有元素都已有序排列。

⑨ 關於JAVA冒泡排序

判斷每一個元素和後一個位置的元素大小,如果大於後面的元素,那麼交換他們的位置。
而交換數組兩個元素的時候,要藉助變數。因為一旦把其中一個的值覆蓋掉的話,就沒法獲取他的值了。。所以藉助temp先把一個值存起來,再覆蓋那個位置,再把存起來的值賦給另一個。。

⑩ java冒泡排序代碼

冒泡排序(Bubble Sort)是一種簡單的排序演算法。它重復地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重復地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個演算法的名字由來是因為越小的元素會經由交換慢慢「浮」到數列的頂端。

冒泡排序演算法的運作如下:

比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。

對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。

針對所有的元素重復以上的步驟,除了最後一個。

持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。

publicclassBubbleSort{
publicstaticvoidmain(String[]args){
intscore[]={67,69,75,87,89,90,99,100};
for(inti=0;i<score.length-1;i++){//最多做n-1趟排序
for(intj=0;j<score.length-i-1;j++){//對當前無序區間score[0......length-i-1]進行排序(j的范圍很關鍵,這個范圍是在逐步縮小的)
if(score[j]<score[j+1]){//把小的值交換到後面
inttemp=score[j];
score[j]=score[j+1];
score[j+1]=temp;
}
}
System.out.print("第"+(i+1)+"次排序結果:");
for(inta=0;a<score.length;a++){
System.out.print(score[a]+" ");
}
System.out.println("");
}
System.out.print("最終排序結果:");
for(inta=0;a<score.length;a++){
System.out.print(score[a]+" ");
}
}
}
閱讀全文

與冒泡排序java相關的資料

熱點內容
精品php源碼 瀏覽:960
自己編寫雲伺服器搶紅包 瀏覽:203
java解壓縮文件加密 瀏覽:887
dlink列印伺服器默認地址 瀏覽:353
php休眠函數 瀏覽:372
金蝶如何打開伺服器 瀏覽:766
e4a手游輔助源碼 瀏覽:777
什麼app可以實時直播 瀏覽:106
蘋果13的app閃退什麼原因 瀏覽:775
尾盤選股源碼公式 瀏覽:450
php日期運算 瀏覽:931
天龍八部長歌伺服器什麼時候開的 瀏覽:199
鬼泣4模型在那個文件夾 瀏覽:229
單片機的串列口 瀏覽:58
phpjson轉化為數組 瀏覽:268
pdf導入excel 瀏覽:428
蘋果xsmax信任app在哪裡設置 瀏覽:53
自動外鏈php源碼 瀏覽:245
我的世界新手獎勵箱命令 瀏覽:146
linux更新vim 瀏覽:998