总而言之就是两两比较,顺序不对就换,双层for嵌套;
需要注意的就是比较即循环的次数(arr.length-i-1);因为每一次循环都会把第一个数放到合适的位置,即每次数组末尾的数都已经确定了,下一次循环就不再需要和已经确定位置的数比较,节省程序执行的时间。
var arr1=[5,4,3,2,1];
var newvar=0;
for (var j=0;j<arr1.length-1;j++){
for(var i=0;i<arr1.length-i-1;i++){
if (arr1[i+1]<arr1[i]){
newvar=arr1[i];
arr1[i]=arr1[i+1];
arr1[i+1]=newvar;
}
else {arr1;}
}
}
console.log(arr1);