以下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;
}
graycode_list.push_back("0" + graycode_list[j]);
graycode_list[j] = "0" + graycode_list[j];
graycode_list.push_back("1" + graycode_list[j]);
graycode_list[j] = "1" + graycode_list[j];