这里主要讲排序的思想,关于算法的时间复杂度就不在这讲了。
冒泡排序
思想: 两两依次比较,如果前一个比后一个大,就交换,直到最后,那么,最后一个数就是最大的,交换到没有可以交换的时候,排序结束。
具体步骤:
1、比较相邻的元素,如果第一个比第二个大,交换两个元素的位置;
2、对每一对相邻的元素做同样的工作,直到最后一对,最后的元素会是最大的数;
3、针对除已经排序好的元素重复同样的步骤,直到没有可以交换的元素,排序结束。
动画演示:
图片是随便搜的,如有侵权请联系我删除
代码:
function sort(arr) {
for (var i = arr.length - 1; i > 0; i--) {
for (var j = 0; j < i; j++) {
if (arr[j] > arr[j + 1]) {
let k = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = k;
}
}
}
return arr;
}
最后再强调一下哈,图片要是有侵权一定要联系我删除。