第10章整理ppt.ppt

上传人:本田雅阁 文档编号:2565538 上传时间:2019-04-09 格式:PPT 页数:19 大小:492.01KB
返回 下载 相关 举报
第10章整理ppt.ppt_第1页
第1页 / 共19页
第10章整理ppt.ppt_第2页
第2页 / 共19页
第10章整理ppt.ppt_第3页
第3页 / 共19页
第10章整理ppt.ppt_第4页
第4页 / 共19页
第10章整理ppt.ppt_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《第10章整理ppt.ppt》由会员分享,可在线阅读,更多相关《第10章整理ppt.ppt(19页珍藏版)》请在三一文库上搜索。

1、第十章,集合,目标,数组列表、哈希表、堆栈集合的用法,体验,首先产生一个包含有12个随机数的数组,然后分别计算出数组中的最大值、最小值。最后程序将显示整个随机数数组。随机数的范围是1100之间。,集合,System.Collections命名空间,数组列表集合-ArrayList,类似一维数组 数组列表是动态数组 可以存放任何对象 常用方法: 增加元素-Add 插入元素-Insert 删除元素-Remove,ArrayList示例,ArrayList myAL = new ArrayList(); myAL.Add(“Hello“); myAL.Add(“World“); myAL.Add(“

2、!“); Console.WriteLine(“myAL“); Console.WriteLine(“ Count: 0“, myAL.Count); Console.WriteLine(“ Capacity: 0“, myAL.Capacity); Console.Write(“ Values:“); PrintValues(myAL);,public static void PrintValues(IEnumerable myList) foreach (Object obj in myList) Console.Write(“ 0“, obj); Console.WriteLine();

3、 ,位数组集合-BitArray,BitArray集合是位值(位值是1和0)的组合体 BitArray位集合是其元素为位标志的集合 每一元素都是一位,而不是一个对象 BitArray容量始终与计数相同 提供位运算方法,例如And、Or、Xor、Not和SetAll 等,1 0 0 1 1 1 0,Length,BitArray flags = new BitArray(7) flags.Set(0,true); flags.Set(1,false); bool IsMarry = flags.Get(3);,BitArray-示例,using System; using System.Coll

4、ections; public class SamplesBitArray public static void Main() BitArray myBA1 = new BitArray(5); BitArray myBA2 = new BitArray(5); myBA10 = myBA11 = false; myBA12 = myBA13 = true; myBA20 = myBA22 = false; myBA21 = myBA23 = true; myBA21 = myBA24 = true; Console.WriteLine(“初始值:“); Console.Write(“myBA

5、1:“); PrintValues(myBA1, 8); Console.Write(“myBA2:“); PrintValues(myBA2, 8); Console.WriteLine(); Console.WriteLine(“结果:“); Console.Write(“位与操作AND:“); PrintValues(myBA1.And(myBA2), 8); Console.WriteLine(); Console.WriteLine(“After AND“); Console.Write(“myBA1:“); PrintValues(myBA1, 8); Console.Write(

6、“myBA2:“); PrintValues(myBA2, 8); Console.WriteLine();,try BitArray myBA3 = new BitArray(8); myBA30 = myBA31 = myBA32 = myBA33 = false; myBA34 = myBA35 = myBA36 = myBA37 = true; myBA1.And(myBA3); catch (Exception myException) Console.WriteLine(“Exception: “ + myException.Message); public static void

7、 PrintValues(IEnumerable myList, int myWidth) int i = myWidth; foreach (Object obj in myList) if (i = 0) i = myWidth; Console.WriteLine(); i-; Console.Write(“0,8“, obj); Console.WriteLine(); ,哈希表集合-Hashtable,Hashtable集合是键/值对的集合 DictionaryEntry类型的实例,DictionaryEntry类型有一个Key和Value属性来读取和设置健和值。 动态存放键/值对,

8、Hashtable示例,using System; using System.Collections; namespace Edu.Qhit.Code.Csharp.Array class DictEnumInterfaceSample static void Main(string args) Hashtable hash = new Hashtable(); hash.Add(“one“, 1); hash.Add(“two“, 2); hash.Add(“three“, 3); hash.Add(“four“, 4); IDictionaryEnumerator ide = hash.G

9、etEnumerator(); while (ide.MoveNext() Console.WriteLine(“0,-101,-5“, ide.Key, ide.Value); ,堆栈集合-Stack,Stack集合实现后进/先出(LIFO)的数据结构 将Stack实现为循环缓冲区 Stack接受空引用(null)作为有效值并且允许重复的元素,Stack常用方法,Stack示例,using System; using System.Collections; namespace Edu.Qhit.Code.Csharp.Array public class StackSample public

10、 static void Main() Stack myStack = new Stack(); myStack.Push(“The“); myStack.Push(“quick“); myStack.Push(“brown“); myStack.Push(“fox“); Console.Write(“Stack values:“); PrintValues(myStack, t); / Removes an element from the Stack. Console.WriteLine(“(Pop)tt0“, myStack.Pop(); Console.Write(“Stack val

11、ues:“); PrintValues(myStack, t);,Console.WriteLine(“(Pop)tt0“, myStack.Pop(); Console.Write(“Stack values:“); PrintValues(myStack, t); Console.WriteLine(“(Peek)tt0“, myStack.Peek(); Console.Write(“Stack values:“); PrintValues(myStack, t); public static void PrintValues(IEnumerable myCollection, char

12、 mySeparator) foreach (Object obj in myCollection) Console.Write(“01“, mySeparator, obj); Console.WriteLine(); ,队列集合-Queue,Queue集合抽象先进/先出(FIFO)数据结构 Queue集合是理想的消息组件 队列在按接收顺序存储消息方面非常有用,以便于进行顺序处理。此类将队列作为循环数组实现。存储在Queue中的对象在一端插入,从另一端移除。,Queue常用方法,Queue示例,/Queue示例 using System; using System.Collections;

13、namespace Edu.Qhit.Code.Csharp.Array public class QueueSample public static void Main() Queue myQ = new Queue(); myQ.Enqueue(“The“); myQ.Enqueue(“quick“); myQ.Enqueue(“brown“); myQ.Enqueue(“fox“); Console.Write(“Queue values:“); PrintValues(myQ); Console.WriteLine(“(Dequeue)t0“, myQ.Dequeue(); Conso

14、le.Write(“Queue values:“); PrintValues(myQ); Console.WriteLine(“(Dequeue)t0“, myQ.Dequeue(); Console.Write(“Queue values:“); PrintValuesIe(myQ.GetEnumerator(); Console.WriteLine(“(Peek) t0“, myQ.Peek();,Console.Write(“Queue values:“); PrintValuesIe(myQ.GetEnumerator(); public static void PrintValues

15、(IEnumerable myCollection) foreach (Object obj in myCollection) Console.Write(“ 0“, obj); Console.WriteLine(); public static void PrintValuesIe(IEnumerator myIenum) while (myIenum.MoveNext() Console.Write(“0,8“, myIenum.Current); Console.WriteLine(); ,排序列表集合-SortedList,SortedList集合是键/值条目和一个ArrayList集合的组合体 SortedList集合是按键排序 通过键或索引来访问集合 具体事例参见教材中,部分特殊集合介绍,总结,数组列表、哈希表、堆栈集合的用法 位数组、队列、排序列表集合,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1