A67629. 假设双向循环链表包含头尾哨兵结点(不存储实际内容),分别为head和tail,链表中每个结点有两个指针域prev和next,分别指向该结点的前驱及后继结点。下面代码实现了一个空的双向循环链表,横线上应填的最佳代码是( )。1 // 链表结点
单选题
知识点
题目描述
假设双向循环链表包含头尾哨兵结点(不存储实际内容),分别为head和tail,链表中每个结点有两个指针域prev和next,分别指向该结点的前驱及后继结点。下面代码实现了一个空的双向循环链表,横线上应填的最佳代码是( )。
1 // 链表结点
2 template <typename T>
3 struct ListNode {
4 T data;
5 ListNode* prev;
6 ListNode* next;
7
8 // 构造函数
9 explicit ListNode(const T& val = T())
10 : data(val), prev(nullptr), next(nullptr) {}
11 };
12
13 struct LinkedList {
14 ListNode<T>* head;
15 ListNode<T>* tail;
16 };
17
18 void InitLinkedList(LinkedList* list) {
19 list->head = new ListNode<T>;
20 list->tail = new ListNode<T>;
21 ________________________________ // 在此处填入代码
22 };选项(单选)
答案解析
详细答案解析为会员权益,按每日次数查看。
开通 / 升级会员