码迷,mamicode.com
首页 > 其他好文 > 详细

循环链表总结

时间:2015-04-19 11:21:16      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:

  重学数据结构,看到循环链表这块,有好多东西刚刚想起来,小总结下。

  无论哪种链表,总之新建一个哨位节点对于链表的插入操作时方便的,它保证了head节点。

  对于边界节点要特殊处理,删除的时候,如果是链尾节点,需要将其前驱节点next域置为NULL,如果是哨位节点后的第一个需要重新设置head节点next值

技术分享
 1 template <class T>
 2 bool CircleLinkedList<T>::Delete(T & item,int index){
 3     Node<T> *curr = Find(index);
 4     if(curr == NULL) return false;
 5     item = curr->GetData();
 6     if(curr->GetPre() != head)
 7         curr->GetPre()->SetNext(curr->GetNext());
 8     else
 9         head->SetNext(curr->GetNext());
10     if(curr->GetNext() != NULL)
11         curr->GetNext()->SetPre(curr->GetPre());
12     else
13         curr->GetPre()->SetNext(NULL);
14     delete curr;
15     return true;
16 }
View Code

 

循环链表总结

标签:

原文地址:http://www.cnblogs.com/zhangshixu/p/4438709.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!