今天剛了解了一下java的冒泡排序的原理,剛開始不是很懂,但是自己推導了一下就明白了,現在跟你們說說我的理解吧
public class Test05 {
public static void main(String[] args) {
int[] arr = new int[]{23,61,45,12,53,126}; //定義陣列
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j < arr.length-1-i; j++) {
if (arr[j]>arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for (int i = 0; i < arr.length; i++) { //輸出排序后的陣列
System.out.println(arr[i]);
}
}
}
說一下:
1、java的冒泡排序就是對陣列遍歷的簡單操作
2、我的陣列有六個元素,所以表示要回圈五次選出第一到第五大的數,這樣第六個自然就是最小的,所以"arr.length"要減一,也可以不減,不過運行效率會慢一點
3、冒泡排序的實質就是一個數和后一個數的比較,arr[j]和arr[j+1]的比較,所以為了防止陣列越界的情況,所以的第二層for回圈的"arr.length"就必須要減一,因為一個外層for回圈執行一次就可以選出一個當前的最大值,所以每次就可以減一,可以用i來表示,所以會有"arr.length-1-i",當然也可以不減i,理由同上,但是必須減一
4,if判斷的條件就是判斷兩個數的大小,如果滿足條件就交換資料,按照我寫的第二個數永遠比第一個數大,以此類推
5、然后就可以依次輸出排序后的陣列元素了
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/236575.html
標籤:java
上一篇:Java八大基本資料型別
