关于LinkedList和LinkedListNode
1.概念:
List是数组链表
LinkedList是指针链表、双向链表
选择List还是LinkedList要看你的使用特点.
数组链表访问快,复杂度O(1),但是添加删除复杂度O(n)
指针链表访问复杂度是O(n),但是添加删除很快O(1)
2.含义
LinkedList
在LinkedList类中,前一节点通过访问Previous属性获得,后一节点通过访问Next属性获得。链表中的第一个节点的Previous属性总是返回null值。两样,最后一个节点的Next属性也是返回null值。 链表中的每个节点(图4-1中用方块表示)实际上都是一个LinkedListNode
3.简单介绍一下LinkedList类的方法与属性
Count 返回链表中的元素个数
First 返回链表中的第一个节点,其返回的类型是一个节点类LinkedListNode
Last 返回最后一个节点。。。。略
AddAfter() AddBefore() AddFirst() AddLast()
使用AddXXXX方法,可以在链表中添加元素分别是链表的头部与尾部,还有一个节点的前面与后面
Remove() RemoveFirst() RemoveLast() First与Last分别删除链表的头部元素与尾表元素 , Remove是删除指定的一个匹配对像
Clear()清除所有的元素
Contains() 搜索一个元素,如果找到返回TRUE找不到返回FALSE
Find() 从链表头开始找一个元素,并返回他的节点类,LinkedListNode
FindLast() 与Find()类似,不同的是从尾部来搜
下面开始写示例,示例中使用了一个链表LinkedList
链表包含文档,与我们上一个队列的例子相同,但文档有一个优先级。在链表中,文档按优先级来排序,如查多个文档优先级相同
则按插入时间来决定优先排序
链表添加文档对象时,它们应放在优先级相同的最后一个文档后面,例如:要加一个文档,优先级数是3,那么,我们应放在3级文档组里的最后一个,因为,此时他一定最晚的