线性表【栈(Stack)后进先出】【 队列(Queue)先进先出】

【栈(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();
        }

  

 

原文地址:https://www.cnblogs.com/xchit/p/LinearTable.html