android Java 冒泡排序 最大值 最小值

今天在這裏給大家介紹2種冒泡排序的算法,以及代碼

1.用兩個for循環, for1是做排序的次數循環,for2是把最小或最大值前移,for2循環第一次就能得到最小值或最大值 代碼如下:

這種方式也適合做最大值,最小值的運算,只需要循環一次就好

因爲這個方法是拿一個位置的數據和全部List數據做比較1:2 ,1:3 ,1:4

for (int i = 0; i < list.size()-1; i++) {

for (int j = i + 1; j < list.size(); j++) {    //第一次循環就把最小或最大值放到第一個位置了

int iniI = list.get(i);
int iniJ = list.get(j);
if(iniI>iniJ){     //改變運算符,可以進行大小值排序的切換
list.add(i,iniJ);
list.remove(i+1);
list.add(j,iniI);
list.remove(j+1);
}
}
}
list.add(i,iniJ);
list.remove(i+1);
list.add(j,iniI);
list.remove(j+1);
}
}
}

2.用兩個for循環, for1是做排序的次數循環,for2是把最小或最大值前移,for2循環一直做比較直到最後一次把數據排序好 代碼如下:

在List中的運算是  1:2, 2:3, 3:4 比較複雜(不建議使用這一種)

for (int i = 0; i < list.size()-1; i++) {

for (int j = 0; j < list.size()-1; j++) {

int intj = list.get(j);

if (list.get(j+1) < intj) { //改變運算符,可以進行大小值排序的切換

list.add(j, list.get(j+1));
list.remove(j+1);
list.add(j+1, intj);
list.remove(j+2);
}
}
}




發佈了31 篇原創文章 · 獲贊 20 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章