冒泡排序的实际趟数

单选题 难度 2

#sort#bubble

带提前退出的冒泡,未必要跑满 n−1 趟。

题目

对 {5,1,4,2,8,3} 用下面的冒泡排序(本趟无交换即提前结束),实际执行的趟数是( )。

for (int i = 0; i < 5; i++) {
    bool sw = false;
    for (int j = 0; j < 5 - i; j++)
        if (a[j] > a[j+1]) { swap(a[j], a[j+1]); sw = true; }
    pass++;
    if (!sw) break;
}
  1. 4
  2. 5
  3. 3
  4. 6
来小码星球,动手写一遍 →