當前位置:首頁 » 編程語言 » 冒泡排序java

冒泡排序java

發布時間: 2022-01-10 09:07:58

『壹』 java冒泡排序

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

『貳』 java冒泡排序詳細講解

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

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

『叄』 java實現冒泡排序

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

『肆』 用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冒泡排序法代碼

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

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冒泡排序

程序如下:
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(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冒泡排序代碼

冒泡排序(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冒泡排序

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

『拾』 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();
}
}
}

熱點內容
linuxandroid 發布:2024-12-24 21:37:19 瀏覽:37
安卓手機不能自動鎖屏怎麼回事 發布:2024-12-24 21:37:08 瀏覽:863
腳本艾克 發布:2024-12-24 21:36:15 瀏覽:715
android單元測試studio 發布:2024-12-24 21:35:34 瀏覽:819
數控車床軟體編程 發布:2024-12-24 21:26:16 瀏覽:524
如何對華為圖庫設置密碼 發布:2024-12-24 21:16:20 瀏覽:499
scala反編譯工具 發布:2024-12-24 21:03:26 瀏覽:769
安卓長按app怎麼刪除不了 發布:2024-12-24 20:57:44 瀏覽:715
加減乘除java 發布:2024-12-24 20:51:56 瀏覽:428
linuxusb攝像頭 發布:2024-12-24 20:51:39 瀏覽:879