将数组 [ 5, 4, 3, 2, 1 ] 按照从小到大的顺序排列
实现分析:
1. 首选 5 个数字 需要比较 4 趟 ,那么 n 个数字需要比较 n-1 趟
2. 第一趟 5 跟后面的数字需要比较 4 次 arr.length-1-0 变成 4 3 2 1 5
第二趟 4 跟后面的数字需要比较 3 次 arr.length-1-1 变成 3 2 1 4 5
第三趟 3 跟后面的数字需要比较 2 次 arr.length-1-2 变成 2 1 3 4 5
第四趟 2 跟后面的数字需要比较 1 次 arr.length-1-3 变成 1 2 3 4 5
3.代码实现如下:
var arr = [5, 4, 3, 2, 1];
//外层循环控制 趟数
for ( var i = 0; i < arr.length-1 ; i++){
//内层循环控制 次数
for ( var j = 0; j < arr.length-1-i; j++){
//比较前后两个数值的大小,如果前面的数字大于后面的数,将其值互换,这时需要将其中一个值先放到空变量中
if (arr[ j ] > arr[ j + 1]){
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
console.log(newArr);