JS冒泡排序
思路:
1)比较两个相邻的元素,如果前面的大于后面的,则将他两的位置进行交换
2)每循环一轮,将最大的放在最后面
Javascript中实现冒泡排序的代码
function fun(arr){
for(var i=0;i<arr.length-1;i++){
//这里对数组减i是因为每次循环都会将最大的放在最后
//所以需要减去上一次i的数值确保每次循环的最后一个元素不再进行循环
for(var j=0;j<arr.length-i-1;j++){
//如果a[j]大于a[j+1]则将数据进行调换
if(arr[j]>arr[j+1]){
//定义变量a,用来交换数据
var a=arr[j+1];
arr[j+1]=arr[j];
arr[j]=a;
}
}
}
}
var Arr=[5,8,1,9,0,2,3,6,4,7];
console.log(Arr);
fun(Arr);
console.log(Arr);
运行结果
总结
第一个for循环在循环一个数字时,进入到第二个循环中,将大的数字放在后面,直到遍历完没有发现小的数字在后面时,再次进入第一个循环,遍历后面的数字,直到遍历完所有的数字。