数据结构(C#):循环链表2011-08-16 博客园 飘遥(Zhenxing Zhou)循环链表可以是单链表,也可以是双链表。链表的尾节点的后继节点指向头结点便成了循环链表。我们在这里继承双链表实现循环链表,当到达双链表的表尾时,让游标指向第0个节点;当到达双链表 的开头时,让游标指向结尾节点,这样就实现了循环双链表。结尾用一个经典的约瑟夫问题来作循环链表 的应用示例。1.循环链表代码:/* * File : CircularlyLinkedList.cs * Author : Zhenxing Zhou * Date : 2008-12-07 * Blog : http://www.xianfen.net/ */ using System;
namespace Xianfen.Net.DataStructure { public class CircularlyLinkedList<T> : DoubleLinkedList<T> { private DoubleLinkedListNode<T> m_CurrentNode; private int m_CurrentIndex;
public int CurrentIndex { get { return m_CurrentIndex; } }