首页 > 试题广场 >

有一组数[16,25,37,29,11,75,32,1],在

[单选题]
有一组数[16,25,37,29,11,75,32,1],在第5趟冒泡排序结束后,数组的顺序结果为
  • [1,11,16,25,29,37,32,75]
  • [1,11,16,25,29,32,37,75]
  • [11,16,1,25,29,32,37,75]
  • [11,16,25,1,29,32,37,75]
这个主要看1的位置变化就行了。因为1的值最小,每一趟排序1总要向前移动一个位置,5趟下来刚好在第三个位置,所以选C。

发表于 2019-01-04 09:41:27 回复(1)
Ped头像 Ped
真不知道这个冒泡排序说的是哪一个,有的是从后面开始比较,有的从前面比较,两种的目的是一样的,题意也没有说明,而且,它说的一趟的意思是移动一个数字就算一次,还是说把一个数字排他最终的位置才算一趟还是?
发表于 2019-10-05 21:19:31 回复(0)
为啥11和16的位置发生了交换呢?
发表于 2019-03-01 10:15:33 回复(1)
11,16的位置不应该变化啊???
发表于 2019-08-04 23:47:55 回复(0)
/**
 * 冒泡排序算法
 * @DateTime 2018-12-17T20:23:30+0800
 * @param                 
 *      arr: 需要排序的数组
 *      num: 第几轮排序
 * @return   {[type]}   排序后的数组
 */

function bubbleSort(arr, num) {
    // 默认循环至最后一轮
    var loopNum = num ? num : arr.length;
    var i = arr.length;
    var loop = 0;
    var temp;
    while (i > 0 && loop < loopNum) {
        for (var j = 0; j < i; j++) {
            if (arr[j] > arr[j + 1]) {
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
        i--;
        loop++;
    }
    return arr;
}

var arr = [16,25,37,29,11,75,32,1];
var result = bubbleSort(arr);
console.log(result); 

发表于 2018-12-17 20:49:09 回复(0)