1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
   | let arr = [49, 38, 65, 97, 76, 13, 27, 49]; console.log('arr:' + arr);     bubbleSort(arr); console.log('sortArr:' + arr);       function  (arr) {   for (i = 0; i < arr.length - 1; i++) {         for (j = 0; j < arr.length - i - 1; j++) {                     if (arr[j] > arr[j + 1]) {         let temp = arr[j];         arr[j] = arr[j + 1];         arr[j + 1] = temp;       }     }     console.log('newArr:' + arr);   } }
   | 
 

加入flag,没有进行过交换,则不再进行多余地排序。 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
   | let arr = [49, 38, 65, 97, 76, 13, 27, 49]; console.log('arr:' + arr); bubbleSort(arr); console.log('sortArr:' + arr);   function bubbleSort(arr) {   let flag = 1;       for (i = 0; i < arr.length - 1; i++) {     flag = 0;         for (j = 0; j < arr.length - i - 1; j++) {       if (arr[j] > arr[j + 1]) {         let temp = arr[j];         arr[j] = arr[j + 1];         arr[j + 1] = temp;         flag = 1;           }     }     console.log('newArr:' + arr);     if (flag == 0) break;   } }
   | 
 
