黑马程序员--C#中的队列,栈,链表总结

本文总结了C#中队列、栈和链表的基本概念和特性。队列遵循先进先出原则,栈则以后进先出为原则。链表在插入和删除操作上表现出高效,但在搜索操作上效率较低。类LinkedList<T>实现了多种接口,如IEnumerable<T>和ICollection<T>。
摘要由CSDN通过智能技术生成

Windows Phone 7手机开发.Net培训期待与您交流!

特点:队列以先进先出的方式访问元素,栈以后进先出的方式访问元素。链表可以快速插入和删除元素,但搜索操作比较慢。
队列 :

QueueQueue <T>类的成员

   

Enqueue()

在队列一端添加一个元素

Dequeue()

在队列的头部读取和删除一个元素。如果在调用Dequeue()方法时,队列中不再有元素,就抛出InvalidOperationException异常

Peek()

在队列的头部读取一个元素,但不删除它

Count

返回队列中的元素个数

TrimExcess()

重新设置队列的容量。Dequeue()方法从队列中删除元素,但不会重新设置队列的容量。要从队列的头部去除空元素,应使用TrimExcess()方法

Contains()

确定某个元素是否在队列中,如果是,就返回true

CopyTo()

ToArray()

把元素从队列复制到一个已有的数组中。ToArray()方法返回一个包含队列元素的新数组

 栈:

StatckStatck<T>类的成员

   

Push()

在栈顶添加一个元素

Pop()

从栈顶删除一个元素,并返回该元素。如果栈是空的,就抛出InvalidOperationException异常

Peek()

返回栈顶元素,但不删除它

Count

返回栈中的元素个数

Contains()

确定某个元素是否在栈中,如果是,就返回true

CopyTo()

ToArray()

把元素从栈复制到一个已有的数组中。ToArray()方法返回一个包含栈中元素的新数组

 链表:

LinkedListNode<T>的属性

   

List

返回与节点相关的LinkedList<T>

Next

返回当前节点之后的节点。其返回类型是LinkedListNode<T>

Previous

返回当前节点之前的节点

Value

返回与节点相关的元素,其类型是T

 

LinkedList<T>执行了IEnumerable<T>ICollection<T>ICollectionIEnumerableISerializableIDeserializationCallback接口。

LinkedList<T>的成员

   

Count

返回链表中的元素个数

First

返回链表中的第一个节点。其返回类型是LinkedListNode<T>。使用这个返回的节点,可以迭代集合中的其他节点

Last

返回链表中的最后一个元素。其返回类型是LinkedListNode<T>

AddAfter()

AddBefore()

AddFirst()

AddLast()

使用AddXXX方法可以在链表中添加元素。使用相应的Add方法,可以在链表的指定位置添加元素。AddAfter()需要一个LinkedListNode<T>对象,在该对象中可以指定要添加的新元素后面的节点。AddBefore()把新元素放在第一个参数定义的节点前面。AddFirst()AddLast()把新元素添加到链表的开头和结尾

重载所有这些方法来接收任一个对象以添加类型LinkedListNode<T>或类型T。如果传送T对象,则创建一个新LinkedListNode<T>对象

Remove()

RemoveFirst()

RemoveLast()

Remove()RemoveFirst()RemoveLast()方法从链表中删除节点。RemoveFirst()删除第一个元素,RemoveLast()删除最后一个元素。Remove()需要搜索一个对象,从链表中删除匹配该对象的第一个节点

Clear()

从链表中删除所有的节点

Contains()

在链表中搜索一个元素,如果找到该元素,就返回true,否则返回false

Find()

从链表的开头开始搜索传送给它的元素,并返回一个LinkedListNode<T>

FindLast()

Find()方法类似,但从链表的结尾开始搜索

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值