冒泡排序是俩个for循环进行嵌套,外层for循环控制排序的总轮数,总轮数是数组长度减去1;第二个for循环是用来将两个数字进行对比用来确定大小而对比的次数是数组长度减去对比轮数再减去1;下面是将数组中的数进行从小到大排列,如果需要从大到小排列则把if判断里面的>改成<
<script>
//将数组arr[3,23,6,1,89,20]按从小到大的顺序排列
var arr=[3,23,6,1,89,20];
//1、外层循环控制排序轮数 arr.length获取长度,轮数是arr.length-1
for(var i=0;i<=arr.length-1;i++){
//2、内层循环控制交换次数 次数是arr.length-i-1
for(var j=0;j<=arr.length-i-1;j++){
//3、将数组元素两两对比 前一个元素是arr[j] 后一个元素是arr[j+1]
if(arr[j]>arr[j+1]){
//4、如果前一个元素大于后一个元素,就进行交换 (交换使用第三变量)
var temp=0;
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
//5、将交换完成的数组输出
console.log(arr);
</script>