GESP C++ 真题 · 逐题精解
首页C++五级真题 › 2025年12月 › 第2题

GESP 2025年12月 C++五级 单选题 第2题

C++五级单选题2025年12月第2题

所属知识点:链表 难度要求:掌握 考频:—

区块链技术是比特币的基础。在区块链中,每个区块指向前一个区块,构成链式列表,新区块只能接在链 尾,不允许在中间插入或删除。下面代码实现插入区块添加函数,则横线处填写( )。
//区块(节点)
struct Block {
int index;            // 区块编号(高度)
string data;          // 区块里保存的数据
Block* prev;          // 指向前一个区块
Block(int idx, const string& d, Block* p) : index(idx), data(d), prev(p) {}
};
// 区块链
struct Blockchain {
Block* tail;
// 初始化
void init() {
tail = new Block(0, "Genesis Block", nullptr);
}
// 插入新区块
void addBlock(const string& data) {
_______________________     //在此处填入代码
}
// 释放内存
void clear() {
Block* cur = tail;
while (cur != nullptr) {
Block* p = cur->prev;
delete cur;
cur = p;
}
tail = nullptr;
}
};

正确答案:B

题目解析

新区块 prev 指向当前链尾 tail,创建后更新 tail=newBlo………

完整解析为会员内容二级及以上的逐题精讲需开通 VIP。一级解析全部免费。前往 GESPPASS 解锁

想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?

进入 GESPPASS 开始练习