题库首页 › GESP等级认证(C++) › 题目 21076

区块链技术是比特币的基础。在区块链中,每个区块指向前一个区块,构成链式列表,新区块只能接在链尾,不允许在中间插入或删除。下面代码实现插入区块添加函数,则横线处填写( )。//区块(节点) 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; } };

A. Block* newBlock = new Block(tail->index + 1, data, tail); tail = newBlock->prev;Copy
B. Block* newBlock = new Block(tail->index + 1, data, tail); tail = newBlock;Copy
C. Block* newBlock = new Block(tail->index + 1, data, tail->prev); tail = newBlock;Copy
D. Block* newBlock = new Block(tail->index + 1, data, tail->prev); tail = newBlock->prev;Copy

正确答案:B

试卷来源:202512 CCF-GESP编程能力等级认证C++五级真题

本卷相关题目

在线做题 同科目题库