1. function sort(arr) {
    2. let len = arr.length; // 最后一个元素
    3. let count = 0;
    4. for (let i = 0; i < len; i++) {
    5. for (let j = 0; j < len - i - 1; j++) {
    6. count++;
    7. if (arr[j] > arr[j + 1]) {
    8. const temp = arr[j];
    9. arr[j] = arr[j + 1];
    10. arr[j + 1] = temp;
    11. }
    12. }
    13. }
    14. console.log(count);
    15. return arr;
    16. }
    17. sort([3,2,1,4,6,7,8,9,0,5]) // 45
    1. function sort(arr) {
    2. let len = arr.length; // 最后一个元素
    3. let count = 0;
    4. let laseIndex = 0
    5. let sort_border = len - 1;
    6. for (let i = 0; i < len; i++) {
    7. let is_sort = true;
    8. for (let j = 0; j < sort_border; j++) {
    9. count++;
    10. if (arr[j] < arr[j + 1]) {
    11. const temp = arr[j];
    12. arr[j] = arr[j + 1];
    13. arr[j + 1] = temp;
    14. is_sort = false;
    15. laseIndex = j;
    16. }
    17. }
    18. sort_border = laseIndex;
    19. if (is_sort) {
    20. break;
    21. }
    22. }
    23. console.log(count);
    24. return arr;
    25. }
    26. sort([3,2,1,4,6,7,8,9,0,5]) // 40

    鸡尾酒排序

    1. function sort(arr) {
    2. let len = arr.length; // 最后一个元素
    3. let count = 0;
    4. for (let i = 0; i < len; i++) {
    5. let is_sort = true;
    6. for (let j = 0; j < len - i - 1; j++) {
    7. count++;
    8. if (arr[j] > arr[j + 1]) {
    9. const temp = arr[j];
    10. arr[j] = arr[j + 1];
    11. arr[j + 1] = temp;
    12. is_sort = false;
    13. }
    14. }
    15. if (is_sort) {
    16. break;
    17. }
    18. is_sort = true;
    19. for (let j = len - i - 1; j > 0; j--) {
    20. count++;
    21. if (arr[j] < arr[j - 1]) {
    22. const temp = arr[j];
    23. arr[j] = arr[j - 1];
    24. arr[j - 1] = temp;
    25. is_sort = false;
    26. }
    27. }
    28. if (is_sort) {
    29. break;
    30. }
    31. }
    32. console.log(count);
    33. return arr;
    34. }
    35. sort([1,2,3,4,5,6,7,8,9,0]) // 26