sort() {
let arr = [12, 5, 2, 1, 3, 6476, 4, 8, 47, 5644, 51];
let temp = "";
let count = 0;
for (let i = 0; i < arr.length - 1; i++) { //有N个数只需要进行N-1次循环比较
let flag = true;//定义flag作为判断,减少循环次数如果第二个for循环已经比较完所有 的数让flag为false
for (let j = 0; j < arr.length - i - 1; j++) {// 减 i 的原因是每次循环之后都会将最大数置最有内部循环比较不需要再与最后一个数进行比较
if (arr[j] > arr[j + 1]) {
temp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = temp;
flag = false;
}
count++;
}
if (flag) {
break;
}
console.log(arr);
console.log(count);
}
}
来源:https://blog.csdn.net/qq_43220086/article/details/100007896