zoukankan      html  css  js  c++  java
  • 线性表【栈(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();
            }
    

      

     

  • 相关阅读:
    003_饿了么chaosmonkey实现
    mysql-5.7 innodb_buffer_pool刷新机制详解
    mysql-5.7中的innodb_buffer_pool_prefetching(read-ahead)详解
    mysql-5.7中innodb_buffer_pool页面淘汰算法
    scrapy 的一个例子
    scrapy 的框架的安装
    python 例程的一个好例子
    django中跨app引用model
    用ansible 完成一次性的工作(ad-Hoc)工作
    django 在建模时的一个手贱
  • 原文地址:https://www.cnblogs.com/xchit/p/LinearTable.html
Copyright © 2011-2022 走看看