原生JS的基础算法
冒泡排序
思路及步骤:
1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。
2、针对所有的元素重复以上的步骤,除了最后一个。
3、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
//方式一
//从前往后走进行比较
let arr = [12, 4, 35, 36, 1, 54, 20];
for (let x=0; x<arr.length; x++) {
for(let y=x+1; y<arr.length; y++) {
if (arr[x] > arr[y]) {
let tmp = arr[x];
arr[x] = arr[y];
arr[y] = tmp;
}
}
}
console.log(arr);
当然也有x与y是都是反序走进行比较的
//方式二
let arr = [12, 4, 35, 36, 1, 54, 20];
for( let x=arr.length-1; x>=0; x--) {
for( let y=x-1; y>=0; y--) {
if(arr