第4章数组和集合分析.ppt

  1. 1、本文档共46页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章数组和集合分析

4.5.1 创建队列 利用Queue的构造函数创建一个新的队列,常用的形式包括以下几种: (1)public Queue () (2)public Queue (int capacity) (3)public Queue( int capacity, float growFactor) 参数capacity可以指定所创建列表的初始容量,如果不指定,则初始容量为.NET的默认值32。而参数growFactor则指定当队列满后容量的增长率,新容量等于当前容量与growFactor的乘积,默认值为2.0。 4.5.2 元素入队 可以通过Queue的Enqueue,实现向一个元素的入队操作,形式如下: public virtual void Enqueue(object obj); 下面的示例中,首先定义了一个队列queue1,然后使用Enqueue方法,向其中添加了3个元素,其中第一个为字符串对象“Hello”,第二个为一个整数对象1,第3个为整型数组arr1。 1. Queue queue1=new Queue(); 2. 3. //字符串:Hello入队 4. object item=new object(); 5. item=Hello; 6. queue1.Enqueue(item); 7. //整数:1入队 8. item=1; 9. queue1.Enqueue(item); 10. //数组:arr1={1,2,3}入队 11. int[] arr1=new int[]{1,2,3}; 12. queue1.Enqueue(arr1); 4.5.3 元素出队 与Enqueue相反,可以通过Queue的Dequeue,实现一个元素的出队操作,形式如下: public virtual object Dequeue(); 下面的示例中,首先定义了一个队列queue1,然后使用Enqueue方法,依次入队3个元素。然后再使用Dequeue方法,输出所有的元素。注意,这个输出的顺序和入队的顺序是一致的。 1. Queue queue1=new Queue(); 2. 3. //依次入队:Hello、1、{1,2,3} 4. queue1.Enqueue(Hello); 5. queue1.Enqueue(1); 6. queue1.Enqueue(new int[]{1,2,3}); 7. 8. //通过出队操作,输出队列中的所有元素,这个顺序,与入队的顺序一致 9. object outItem=new object(); 10. while(queue1.Count0) 11. { 12. outItem=queue1.Dequeue(); 13. Console.WriteLine({0},outItem); 14. } 4.6 堆 栈 同Queue一样,堆栈(Stack)实际上也是一种操作受限的列表,要求列表中的元素必须满足先进后出的原则,如图所示。最主要的方法为入栈操作Push和出栈操作Pop,分别在堆栈的顶部完成添加和删除元素的操作。其他Stack支持的方法,例如遍历、清空等,和ArrayList类似。Stack类常用属性和方法一览如图所示。 4.6.1 创建堆栈 利用Stack的构造函数创建一个新的堆栈,常用的形式包括: (1)public Stack (); (2)public Stack (int capacity)。 参数capacity可以指定所创建列表的初始容量。如果不指定,则初始容量为.NET的默认值10。当堆栈中的元素达到其最大容量时,容量将自动增加一倍。下面的代码创建了两个堆栈对象: 1. Stack Stack1=new Stack(); 2. Stack Stack2=new Stack(100); 4.6.2 元素入栈 可以通过Stack的Push,实现向一个元素的入栈操作,形式如下: public virtual void Push(object obj); 下面的示例中,首先定义了一个堆栈Stack1,然后使用Push方法,向其中添加了3个元素,其中第一个为字符串对象“Hello”,第二个为一个整数对象1,第3个为整型数组arr1。 1. Stack stack1=new Stack(); 2. 3. //字符串:Hello入栈 4. object item=new object(); 5. item=Hello; 6. stack1.Push(item); 7. //整数:1入栈 8. item=1; 9. stack1.Push(item); 10. //数组:arr1={1,2,3}入栈 11. int[] arr1=new int[]{1,2,

文档评论(0)

wbjsn + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档