JS数组冒泡排序
冒泡排序:车轮战,两两比较,小的靠前
特点:
1、轮数:共比较了 length -1 次
2、每轮中比较的次数:随着轮数的增加,次数反而减少
代码:
双层循环表示整个排序的过程
1、外层循环:控制比较的轮数,从1开始,到 length-1 (能取到)结束
2、内层循环:控制每轮中比较的次数,并且也要表示参与比较元素的下标,从0开始到 length -1 -i (轮数变量)
练习:
对一组数据内的数据进行冒泡排序
function mao(){
var arr = [1,99,58,6,3,7,6,102,66];
console.log("排序前:"+arr);
//外层循环
for(var i=1;i<=arr.length-1;i++){
//内层循环
for(var j=0;j<=arr.length-1-i;j++){
//比较当前数字arr[j]与下一个数字arr[j+1]的大小关系,如果arr[J]大于arr[j+1]则互换位置
if(arr[j]>arr[j+1]){
arr[j] ^= arr[j+1];
arr[j+1] ^= arr[j];
arr[j] ^= arr[j+1];
}
}
}
console.log("排序后:"+arr);
}来自:https://www.cnblogs.com/hourglas/archive/2020/10/03/13763823.html
本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!