var numbers=[23,12,24,35,43];
var temp;
var count=0;//记录循环次数
//外层循环:控制趟数,每一趟找到一个最大值
for(var i=0;i<numbers.length-1;i++){
var flag=true;//判断是否还需继续循环
count++;
//内层循环:控制比较的次数,并且判断两个数的大小,大的在后,小的在前
for(var j=0;j<numbers.length-1-i;j++){
count++;
if(numbers[j]>numbers[j+1]){
//如果没有排好
flag=false;
//交换位置
temp=numbers[j];
numbers[j]=numbers[j+1];
numbers[j+1]=temp;
}
}
//如何判断是否排好序,根据是否发生了数据交换,如果发生了数据交换说明没有拍好
if(flag)
break;
}
console.log(numbers);
console.log(count);
JavaScript的冒泡排序
最新推荐文章于 2024-10-10 09:56:47 发布