【栈(Stack)后进先出】【 队列(Queue)先进先出】
线性表是最基本、最简单、也是最常用的一种数据结构。线性表中数据元素之间的关系是一对一的关系, 即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。线性表的逻辑结构简单, 便于实现和操作。因此,线性表这种数据结构在实际应用中是广泛采用的一种数据结构。
栈(Stack)后进先出
public static void QuueMain() { //创建一个队列 Queue myQ = new Queue(); myQ.Enqueue("The");//入队 myQ.Enqueue("quick"); myQ.Enqueue("brown"); myQ.Enqueue("fox"); myQ.Enqueue(null);//添加null myQ.Enqueue("fox");//添加重复的元素 // 打印队列的数量和值 Console.WriteLine("myQ"); Console.WriteLine("\tCount: {0}", myQ.Count); // 打印队列中的所有值 Console.Write("Queue values:"); PrintValues(myQ); // 打印队列中的第一个元素,并移除 Console.WriteLine("(Dequeue)\t{0}", myQ.Dequeue()); // 打印队列中的所有值 Console.Write("Queue values:"); PrintValues(myQ); // 打印队列中的第一个元素,并移除 Console.WriteLine("(Dequeue)\t{0}", myQ.Dequeue()); // 打印队列中的所有值 Console.Write("Queue values:"); PrintValues(myQ); // 打印队列中的第一个元素 Console.WriteLine("(Peek) \t{0}", myQ.Peek()); // 打印队列中的所有值 Console.Write("Queue values:"); PrintValues(myQ); Console.ReadLine(); } public static void PrintValues(IEnumerable myCollection) { foreach (Object obj in myCollection) Console.Write(" {0}", obj); Console.WriteLine(); }
队列(Queue)先进先出
public static void StackMain() { Stack stack = new Stack(); stack.Push("one"); stack.Push("two"); stack.Push("three"); stack.Push("four"); stack.Push("five"); // 打印队列的数量和值 Console.WriteLine("Stack"); Console.WriteLine("\tCount: {0}", stack.Count); // 打印队列中的所有值 Console.Write("Stack values:"); PrintValues(stack); // 打印队列中的顶部第一个元素,并移除 Console.WriteLine("(Pop)\t{0}", stack.Pop()); // 打印队列中的所有值 Console.Write("Stack values:"); PrintValues(stack); // 打印队列中的顶部第一个元素 Console.WriteLine("(Peek) \t{0}", stack.Peek()); // 打印队列中的所有值 Console.Write("stack values:"); PrintValues(stack); Console.ReadLine(); } public static void PrintValues(IEnumerable myCollection) { foreach (Object obj in myCollection) Console.Write(" {0}", obj); Console.WriteLine(); }