数据结构之堆栈

Posted yuh_c

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构之堆栈相关的知识,希望对你有一定的参考价值。

定义

堆栈(Stack)代表了一个后进先出的对象集合。当您需要对各项进行后进先出的访问时,则使用堆栈。当您在列表中添加一项,称为推入元素,当您从列表中移除一项时,称为弹出元素。

Stack<T>类的方法和属性

类成员

说明

Count

获取 Stack 中包含的元素个数。

Clear()

从 Stack 中移除所有的元素。

Contains(object obj ); 

判断某个元素是否在 Stack 中。

 Peek();

回在 Stack 的顶部的对象,但不移除它。

 Pop();

移除并返回在 Stack 的顶部的对象。

 Push( object obj );

向 Stack 的顶部添加一个对象。

ToArray();

复制 Stack 到一个新的数组中。

示例如下

 Stack stack = new Stack();

            //初始化队列

            stack.Push("1");

            stack.Push("2");

            stack.Push("3");

            //打印队列当前数据

            Console.WriteLine("打印队列当前数据");

            foreach (string temp in stack)

                Console.Write(temp + "   ");

            Console.WriteLine();

            //向队列尾部添加元素

            stack.Push("4");

            //打印队列当前数据

            Console.WriteLine("向队列尾部添加元素后打印数据");

            foreach (string temp in stack)

                Console.Write(temp + "   ");

 

            Console.WriteLine();

 

            //移除第一个元素

            string front = (string)stack.Pop();

            //打印队列当前数据

            Console.WriteLine("移除第一个元素后时,第一个元素是" + front);

            Console.WriteLine("移除第一个元素后打印数据");

            foreach (string temp in stack)

                Console.Write(temp + "   ");

 

            Console.WriteLine();

            Console.WriteLine("当前队列的元素数量" + stack.Count.ToString());

 

            //清除队列所有元素

            stack.Clear();

            Console.WriteLine("清除队列所有元素后当前队列的元素数量" + stack.Count.ToString());

 

            Console.ReadKey();

 

 

 

运行结果

 

 

以上是关于数据结构之堆栈的主要内容,如果未能解决你的问题,请参考以下文章

c语言中(不是C++)具体实现堆栈代码,后进先出原理我懂!

数据结构之栈+十进制转d进制(堆栈数组模拟)

集合之Stack

每天进步一点点之堆栈思想

堆栈的多种实现方式

栈、队列中“先进先出”,“后进先出”的含义