测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A22015. 区块链技术是⽐特币的基础。在区块链中,每个区块指向前⼀个区块,构成链式列表,新区块只能接在链尾,不允许在中间插⼊或删除。下⾯代码实现插⼊区块添加函数,则横线处填写( )。//区块(节点) struct Block { int index; // 区块编号(高度) string data; // 区块里保存的数据 Block* prev; // 指向前一个区块 Block(int idx, con…

单选题 困难

题目描述

区块链技术是⽐特币的基础。在区块链中,每个区块指向前⼀个区块,构成链式列表,新区块只能接在链尾,不允许在中间插⼊或删除。下⾯代码实现插⼊区块添加函数,则横线处填写(    )。

//区块(节点)
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;
    }
};

选项(单选)

上一题 下一题