算法思路:
數組裏面有一組數字,首先,第一個和第二個進行比對,如果小則往後互換,繼續比對第二個和第三個,依次循環,這樣最小的一個就會排到最後面,然後外循環就會告訴內循環,循環數組就不需要比對最後一個了,然後繼續進行循環,結果就會把這組數字進行降序排列,即按從大到小排序;反之從小到大排序。
Java具體實現代碼:
public static void main(String[] args) {
// 降序排列,從大到小
int[] aa = new int[] {25, 32, 1, 5, 6, 84, 4};
for(int i = 0; i < aa.length - 1; i++) {
for(int j = 0; j < aa.length - i - 1; j++) {
if(aa[j] < aa[j + 1]) {
int index = aa[j];
aa[j] = aa[j + 1];
aa[j + 1] = index;
}
}
}
//輸出排序後數組
for (int i = 0; i < aa.length; i++) {
System.out.println(aa[i]);
}
}
js 實現冒泡排序代碼:
// 冒泡排序,
var arr = [1, 9, 4, 88, 10];
// 外層循環 控制 趟數 5個元素走4趟 10個元素走9趟 arr.length - 1
for (var i = 0; i < arr.length - 1; i++) {
// 內層循環 控制 次數 第一趟4次(當前索引號0),第二趟3次... arr.length-i-1
for (var j = 0; j < arr.length - i - 1; j++) {
// 從小到大排序
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
console.log(arr);