单选题 难度 2
带提前退出的冒泡,未必要跑满 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;
}