冒泡排序法
冒泡排序法即将数组中的元素按照指定的条件重新排序。
以将数组[50,30,20,40]按从小到大排序为例,先将50与30,20,40挨个比较若小于50就排在50前面,而后再用30与20,40挨个比较大小若小于30就排在30前面,以此类推。
具体代码如下
<script>
var arr = [50, 30, 20, 40];
for (let i = 0; i < arr.length - 1; i++) {
//外部for循环遍历数组有哪些元素需要与后面的元素相比较
for (let j = 0; j < arr.length - i - 1; j++) {
//内部for循环遍历数组需要与哪些元素相比较
//arr.length - i - 1是因为数组中50需要与后面的元素比较三次,
//30需要与后面的元素比较两次,20与后面的元素比较一次,50的索引值为0,30为1,20为2,
//观察此规律得出遍历的比较次数为aee.length-i-1
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
//入伙第j个元素的值大于第j+1个元素则将j的值传递给j+1
}
}
}
console.log(arr);// [20, 30, 40, 50]
</script>