JavaScript数组冒泡排序

来源:互联网 发布:阿里云开通码 编辑:程序博客网 时间:2024/06/06 09:55

不分语言的冒泡排序

var arr = [2, 5, 8, 3, 11, 45];  //arr.length = 6for (var i = 1; i < arr.length; i++) {//外层控制次数5次   for (var j = 0; j < arr.length - i; j++) {  //内层控制比较的次数       if (arr[j] < arr[j + 1]) { //交换位置           var temp = arr[j + 1];           arr[j + 1] = arr[j];           arr[j] = temp;       }   }}document.write(arr.join(","));

思路:
内置排序排序
如何找到最小值 让它到最后的位置
第一轮 比较了5次
比较第一位和第二位 [5,2,8 ,3,11,45]
比较第二位和第三位 [5,8,2,3,11,45]
比较第三位和第四位 [5,8,3,2,11,45]
比较第四位和第五位 [5,8,3,11,2,45]
比较第五位和第六位 [5,8,3,11,45,2]
第二轮 比较了4次
比较第一位和第二位 [8,5,3,11,45,2]
比较第二位和第三位 [8,5,3,11,45,2]
比较第三位和第四位 [8,5,11,3,45,2]
比较第四位和第五位 [8,5,11,45,3,2]
第三轮 比较了3次
比较第一位和第二位 [8,5,11,45,3,2]
比较第二位和第三位 [8,11,5,45,3,2]
比较第三位和第四位 [8,11,45,5,3,2]
第四轮 比较2次
比较第一位和第二位 [11,8,45,5,3,2]
比较第二位和第三位 [11,45,8,5,3,2]
第五轮 比较3次
比较第一位和第二位 [45,11,8,5,3,2]

0 0
原创粉丝点击