#13135. 珅泽教育CSP-J第一轮模拟考第二十九套 第 36 题

珅泽教育CSP-J第一轮模拟考第二十九套 第 36 题

三、完善程序题(第 19—20 大题,共 10 个小题,30 分)

完善程序(双向冒泡排序)

为 n 个数进行双向冒泡排序,求最终排序结果。

#include <iostream>
using namespace std;
void bidirectionalBubbleSort(int a[], int n) {
    int low = 0, high = ①;
    bool flag = true;
    while (②) {
        flag = false;
        for (int i = low; i < high; i++) {
            if (a[i] > a[i + 1]) {
                swap(a[i], a[i + 1]);
                ③;
            }
        }
        high--;
        for (int i = high; i > low; i--) {
            if (a[i] < a[i - 1]) {
                swap(a[i], a[i - 1]);
                flag = true;
            }
        }
        ④;
    }
}
int main() {
    int n, a[500] = {};
    cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> a[i];
    }
    bidirectionalBubbleSort(a, n);
    for (int i = 0; i < n; i++) {
        cout << ⑤ << " ";
    }
    return 0;
}

③处应填( )。

{{ select(1) }}

  • flag=false
  • flag=low
  • flag=high
  • flag=true