單向循環連結清單:
空表:l->next = l。
與單連結清單的聯系:判斷表尾的方法不同:單連結清單用p==null;循環連結清單用p==l。
雙向循環連結清單:一個結點包含指向後繼(next) 和指向前驅(prior) 兩個指針,兩個方向又分别構成循環連結清單。
雙向循環連結清單的插入和删除:
1.p之後插入s
s->next = p->next;
p->next = s;
s->prior = p;
s->next->prior = s;
2.p之前插入s
s->prior= p->prior;
p->prior = s;
s->next = p;
s->prior->next = s;
3.删除p之後繼s
s = p->next;
p->next = s->next;
p->next->prior = p;
4.删除p
p->prior->next= p->next;
p->next->prior= p->prior;
一道題目:循環連結清單解決josephus環問題
題目:n個人圍成一圈,從第一個開始順序報數1,2,3,凡是報到3 者退出圈子,最後剩下的就是勝利者。
參考代碼:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiZpdmLlR2bjlHcvN2LcNXZnFWbp9CXt92YuM3ZvxmYuNmLu9Wbt92Yvw1LcpDc0RHaiojIsJye.gif)
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIiZpdmLlR2bjlHcvN2LcNXZnFWbp9CXt92YuM3ZvxmYuNmLu9Wbt92Yvw1LcpDc0RHaiojIsJye.gif)
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。
http://www.cnblogs.com/luxiaoxun/archive/2012/08/03/2622359.html