第23725题 单选题
含头尾哨兵结点的C++双向循环链表初始化代码填空

假设双向循环链表包含头尾哨兵结点(不存储实际内容),分别为headtail,链表中每个结点有两个指针域prevnext,分别指向该结点的前驱及后继结点。下面代码实现空的双向循环链表,横线上应填的最佳代码是()。

// 链表结点
template <typename T>
struct ListNode {
    T data;
    ListNode* prev;
    ListNode* next;

    // 构造函数
    explicit ListNode(const T& val = T())
        : data(val), prev(nullptr), next(nullptr) {}
};

template <typename T>
struct LinkedList {
    ListNode<T>* head;
    ListNode<T>* tail;
};

template <typename T>
void InitLinkedList(LinkedList<T>* list) {
    list->head = new ListNode<T>;
    list->tail = new ListNode<T>;
    // 在此处填入代码
    _________________________
}
{{ option.label }}
子题{{ index + 1 }} {{ child.type_label }}
{{ option.label }}
✓ 正确 ◐ 部分正确 ✗ 错误
程序运行统计
暂无判题统计
提交{{ questionInfo.stats ? questionInfo.stats.submit_count : 0 }}次 正确率{{ statsAccuracy }}%
答案解析