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

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

单选题 困难

题目描述

假设双向循环链表包含头尾哨兵结点(不存储实际内容),分别为 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>;
	________________________________ // 在此处填入代码
};

选项(单选)

上一题 下一题