单选题

下面代码实现了冒泡排序函数,则横线上应填写(    )。

//交换数组arr的第i个元素和第j个元素

void swap(vector<int> &arr, int i, int j) {

      int tmp = arr[i];

      arr[i] = arr[j];

      arr[j] = tmp;

}


int bubble_sort(vector<int> &arr) {

      for (int i = arr.size() - 1; i > 0; i--) {

      bool flag = false; // 标志位

      ________________________________ { // 在此处填入代码

            if (arr[j] > arr[j + 1]) {

                  swap(arr, i, j);

                  flag = true;

            }

      }

      if (!flag)

            break; // 此轮“冒泡”未交换任何元素

      }

}

A

for (int j = 0; j < arr.size() - 1; j++)

B

for (int j = arr.size() - 1; j > 0; j--)

C

for (int j = 0; j < i; j++)

D

for (int j = i-1; j <=0; j--)

赣ICP备20007335号-2