.NET中的LinkedList是循环链表吗?我需要一个循环链表,所以想知道LinkedList是不是循环链表?不。它是双向链表,但不是循环链表。有关详细信息,请参阅MSDN。但是,LinkedList为您自己的循环链表奠定了良好的基础。但是它确实有一个显式的First和Last属性,并且没有枚举它们,这是一个适当的循环链表。每当您想移动列表的“下一个”部分时,快速解决方法是在循环中使用它:current=current.Next??当前.List.First;其中current是一个LinkedListNode。如果您需要循环数据结构,请查看C5generics集合库。他们有任何可以想象到的有用的集合,包括循环队列(可能对你有帮助)。不,这是不对的。参见MSDNLinkedList的公共API虽然不是循环的,但实际上是内部的。查阅参考资料,你可以看到它是如何实现的://ThisLinkedListisadoubly-Linkedcircularlist。内部LinkedListNode头;当然,为了隐藏它是循环的事实,检查了遍历列表的属性和方法以防止环绕头部。一个LinkedListNode:publicLinkedListNodeNext{get{returnnext==null||下一个==list.head?null:next;}}publicLinkedListNodePrevious{get{returnprev==null||}这个==list.head?null:prev;}}LinkedList.Enumerator:以上是C#学习教程:.NET中的LinkedList是循环链表吗?如果分享的内容对你有用,需要了解更多C#学习教程,希望你多多关注——publicboolMoveNext(){if(version!=list.version){thrownewInvalidOperationException(SR.GetString(SR.InvalidOperation_EnumFailedVersion));}if(node==null){index=list.Count+1;返回假;}++索引;当前=节点。项目;节点=节点.下一个;if(node==list.head){node=null;}返回真;}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
