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

java冒泡排序

發布時間: 2022-01-26 23:35:19

A. 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]+" ");
}
}
}

B. 冒泡排序java是

冒泡排序演算法:

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

演算法:取出最大的放在最後,下次就不用比較最後一個了。*/

public class BubbleSort{

public static void main(String[] args){

int[] a = {3,1,6,2,5};

//開始排序

for(int i=a.length-1;i>0;i--){

for(int j=0;j<i;j++){

if(a[j]>a[j+1]){

//交換位置

int temp;

temp = a[j];

a[j] = a[j+1];

a[j+1] = temp;

//遍歷

for(int i=0;i<a.length;i++){

System.out.println(a[i]);

}

演算法原理

冒泡排序演算法的運作如下:(從後往前)

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

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

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

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

C. 關於JAVA冒泡排序

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

D. 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++){

//交換位置

}

E. java實現冒泡排序

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

F. java中的冒泡排序

數組越界
for (int j = length - 1; j >= i; j--) {
改成
for (int j = length - 2; j >= i; j--) {

G. java冒泡排序

public class sort{
/** * 數組排序 */
public static void main(String[] args){
int a;
int shuzu[]={19,26,95,34,75,62,18,96,35,75,25};
for(int x=0;x<shuzu.length-1;x++){
for(int y=0;y<(shuzu.length-1);y++){
if(shuzu[x]<shuzu[y]){ //你都用了X循環,變數里卻不用,浪費資源,改代碼就沒問題了
a=shuzu[x];
shuzu[x]=shuzu[y];
shuzu[y]=a;
}
}
}
for(int j=0;j<shuzu.length-1;j++){
System.out.print(shuzu[j]+" ");
}
}
}

H. java冒泡排序詳細講解

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

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

I. java 冒泡排序。

自己賦初值

for(int i=0; i<arr.length(); i++){
for(int j=i+1; j<arr.length(); j++){
if(arr[i]>arr[j]){
int t = arr[i];
arr[i]=arr[j];
arr[j]=t;
}
}
}

J. java的冒泡排序

for(int j=1;j<a.length-i;i++)
你這里j=1,改成j=i+1 j<a.length 就可以了
因為你這里是 一個嵌套,數組的長度是固定的為5,另外這里的 i++,應該改成 j++ 估計打錯了 我不知道你這里用 j<a.length-i 這里的減i是什麼目的?我們可分析一下:當i=0 時j=1 j<a.length-i(值為5-0=5) 1<5可以通過,當i=1 j=2 j<a.length-i(值為5-1=4) 2<4 通過,當i=2 j=3 j<a.lenght-i (值為5-2=3)這時j=3 而a.lenght-i的值也為3 3<3 不成立 所以不通過。j++也將不執行 所以 不能將數組的所有的數進行比較。

熱點內容
注冊表中心伺服器地址生成規則 發布:2024-11-16 04:30:19 瀏覽:962
安卓360雙系統怎麼設置 發布:2024-11-16 04:29:32 瀏覽:756
戰網如何找回密碼 發布:2024-11-16 04:21:56 瀏覽:862
安卓手機如何自定義儲存庫 發布:2024-11-16 04:19:06 瀏覽:901
無線網密碼哪裡看到 發布:2024-11-16 04:17:02 瀏覽:922
玩樂高侏羅紀游戲需要哪些配置 發布:2024-11-16 04:05:50 瀏覽:537
數字編程話 發布:2024-11-16 04:05:43 瀏覽:750
電腦配置測試軟體哪個好用 發布:2024-11-16 03:45:01 瀏覽:353
十台電腦伺服器需要什麼配置 發布:2024-11-16 03:44:52 瀏覽:70
天龍八部答題源碼 發布:2024-11-16 03:44:06 瀏覽:221