冒泡排序
冒泡排序即将数组中相邻的两个数字依次进行比较,如果想要得到升序的结果,即把判断条件设为第一个数大于第二个数后就交换位置即可。如果想要得到降序的结果,即把判断条件设置为如果第一个数比第二个数小,就交换位置。运用双层for循环进行简单的遍历便可以得到js中的冒泡排序啦!
var arr=[];
function Arr(arr){ //升序输出
for(var i = 0; i<arr.length;i++){ //遍历数组
for(var j = 0;j<arr.length-i-1;j++){ //循环比较
if(arr[j]>arr[j+1]){ //if(arr[j]<arr[j+1]) --降序输出
var s = arr[j]
arr[j] = arr[j+1]
arr[j+1] = s;//位置调换
}
}
}
return arr;
}
console.log(Arr([2,1,3,5,4,0]));//[0, 1, 2, 3, 4, 5]
逆序输出数组
var arr=[];
function Arr(arr){
var j = arr.length -1;
for(var i = 0;i < arr.length; i++,j--){
if(j>i){ //交换到中间不再交换,加一个条件判断
var s = arr[j];
arr[j] = arr[i];
arr[i] = s;
}
}
return arr;
}
console.log(Arr([0,1,2,3,4]));//[4,3,2,1,0]