链表(LinkedList)类

来源:互联网 发布:液晶电视网络连接图 编辑:程序博客网 时间:2024/05/19 15:21

.net Framework 2.0中c#添加了泛型的支持,同时增加了链表(LinkedList)类 ,使得很多基于链表数据的操作方便了很多。

链表操作所涉及的两个类LinkedList<T>和LinkedListNode<T>,其中前者为链表,后者为链表中的一个节点(可以将LinkedList<T>的实例看成c++中链表的头指针,不过LinkedList本身封装了很多方法,如.First,.Last,.Find()可能快速定位链表中某个节点,通过.AddFirst(),AddLast(),AddBefore(),AddAfter()可快速插入节点,AddRemove删除节点,.Count获取链表中节点个数。这样,以前在c/c++中需要关心的指针位置什么都可以不考虑,在执行插入、删除操作时自动完成链接。

LinkedListNode:提供了Next,Previous属性,可以获取当前节点的前后节点.Value为节点的具体数据(视链表定义时的泛型参数T而定),List能直接返回节点所属的链表

说明:如果要用LinkedList的Find和Contain方法查找节点,由于这两个方法是针对链表节点的Value进行比较,所以链表节点数据必须为值类型的,如果是引用类型的数据,则没用。(所以一般复杂数据用Struct,而不用Class)

原创粉丝点击