单选题

以下C++代码实现 位的格雷码,则横线上应填写(    )。

#include <iostream>

#include <vector>

#include <string>

using namespace std;

// 生成 n 位的格雷码

vector<string> generate_graycode(int n) {

vector<string> graycode_list;

if (n <= 0) {

return graycode_list;

}

// 初始1位格雷码

graycode_list.push_back("0");

graycode_list.push_back("1");

// 迭代生成 n 位的格雷码

for (int i = 2; i <= n; i++) {

int current_size = graycode_list.size();

for (int j = current_size - 1; j >= 0; j--) {

graycode_list.push_back("1" + graycode_list[j]);

}

for (int j = 0; j < current_size; j++) {

      ____________________________ // 在此处填入代码

}

}

return graycode_list;

}

A

graycode_list.push_back("0" + graycode_list[j]);

B

graycode_list[j] = "0" + graycode_list[j];

C

graycode_list.push_back("1" + graycode_list[j]);

D

graycode_list[j] = "1" + graycode_list[j];

赣ICP备20007335号-2