‹ 上一题 下一题 ›

g5-04301. GESP-5级-2025-03-单选-第03题 未做

1000 ms 256 MB 测试点 ? GESPGESP-52025-03单选客观题5级·链表链表

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

// 链表结点
template <typename T>
struct ListNode {
    T data;
    ListNode* prev;
    ListNode* next;
    // 构造函数
    explicit ListNode(const T& val = T())
        : data(val), prev(nullptr), next(nullptr) {}
};

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

void InitLinkedList(LinkedList* list) {
    list->head = new ListNode<T>;
    list->tail = new ListNode<T>;
    ____________      // 在此处填入代码
}
  • A. ```cpp
    list->head->prev = list->head;
    list->tail->prev = list->head;
- **B.** ```cpp
list->head->next = list->tail;
list->tail->prev = list->head;
  • C. ```cpp
    list->head->next = list->tail;
    list->tail->next = list->head;
- **D.** ```cpp
list->head->next = list->tail;
list->tail->next = nullptr;
未选择
输入
输出

            
答案