我正在为我的家庭作业编写一个链接列表,我需要为我的程序要求实现 begin() 和 end()。
Begin() 相当简单
Node* List::begin(){return head;}
我应该如何实现 end()?
我正在为我的家庭作业编写一个链接列表,我需要为我的程序要求实现 begin() 和 end()。
Begin() 相当简单
Node* List::begin(){return head;}
我应该如何实现 end()?
您可以返回一个NULL
指针,或者如果您有一个自定义tail
节点,则返回它。如果是循环双向链表,可以返回哨点节点。
请记住,检查列表末尾的正确方法是调用List::end()
,因此,如果您已正确设置List
课程,那么返回的内容并不重要,只要
Node* node = mylist.begin();
while (node != mylist.end()) { /*... loop */ }
while
工作,当您到达列表末尾时退出-loop。所以主要的事情是List::end()
需要返回一些独特的东西,如果你正在遍历列表的中间,你将永远不会遇到。