单选题

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

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

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

     int tmp = arr[i]; 

     arr[i] = arr[j];

     arr[j] = tmp;

 } 

 int bubble_sort(vector&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--)

发表评论

登录 后再回复