C#集合本质之堆栈的用法详解

在"了解集合本质必须要知晓的概念-链表"中,我们了解了链表的概念和种类,并且模拟了一个单向链表。本篇体验的堆栈是约束版的链表,只能在栈顶接收新节点和释放节点。

堆栈的主要操作是压栈和出栈。压栈是将新节点放在栈顶,出栈是从栈顶取出一个节点,返回新弹出节点的数据项。堆栈也称为后进先出的数据结构。

接着上一篇,写一个派生于List的类来模拟堆栈的压栈和出栈。

namespace LinkedListLibrary { public class StackInheritance : List { public StackInheritance() : base("stack"){} public void Push(object dataValue) { InsertAtFront(dataValue); } public object Pop() { return RemoveFromFront(); } } }

客户端调用。

public static void Main(string[] args) { StackInheritance stack = new StackInheritance(); bool aBoolean = true; char aChar = 'a'; int anInt = 12; string aStr = "hello"; stack.Push(aBoolean); stack.Display(); stack.Push(aChar); stack.Display(); stack.Push(anInt); stack.Display(); stack.Push(aStr); stack.Display(); try { while (true) { object removedObject = stack.Pop(); Console.WriteLine(removedObject + "被弹出~~"); stack.Display(); } } catch (EmptyListException emptyListException) { Console.Error.WriteLine(emptyListException.StackTrace); } Console.ReadKey(); }

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对易知道(ezd.cc)的支持。如果你想了解更多相关内容请查看下面相关链接

推荐阅读

    foreach的用法c语言和c#

    foreach的用法c语言和c#,数组,遍历,本文目录foreach的用法c语言和c#详细讲解foreach循环的用法C#中的foreach 怎么用啊foreach用法C#中的f

    堆栈快捷键|堆叠窗口快捷键

    堆栈快捷键|堆叠窗口快捷键,,堆叠窗口快捷键本文所列的快捷键在ArcMap、ArcGlobe 和 ArcScene中许多也可以通用。窗口操作CTRL+F 搜索 ES

    params 是什么意思,c#里

    params 是什么意思,c#里,参数,数组,本文目录params 是什么意思,c#里params.add跟params.put有区别吗C#中ref,out和params有什么区别发送请

    C# 基于StackExchange.Redis.dll利用Redis实现分布式Session

    C# 基于StackExchange.Redis.dll利用Redis实现分布式Session,令牌,客户端,最近在研发一款O2O产品,考虑到分布式架构的需要,以前那一套.NET的

    堆栈是什么意思?

    堆栈是什么意思?,堆栈,数据结构,数据项,数据,操作,删除,堆栈是一个特定的存储区或寄存器,它的一端是固定的,另一端是浮动的。对这个存储区存入的数

    c#中 (ToolStrip

    c#中 (ToolStrip,窗体,控件,本文目录c#中 (ToolStrip)控件是做什么用的winform窗体问题 toolstrip怎么重用,每个窗体都要用到同样的工具栏窗体

    C#取得DataTable最大值、最小值

    C#取得DataTable最大值、最小值,最大值,最小值,C#取得DataTable最大值、最小值int max=int.Parse((dtItemsAll.Compute("Max(CPITEMS_SOR

    栈溢出的定义?堆栈为什么会溢出

    栈溢出的定义?堆栈为什么会溢出,堆栈,缓冲区,栈溢出的定义堆栈溢出是一种缓冲区溢出,堆栈溢出是一种缓冲区溢出的类型,堆栈溢出是指堆栈中

    C#如何打印|cctv5体育节目表

    C#如何打印|cctv5体育节目表,,C#如何打印最省事的办法,引用word对象,再把word弹出来用word打印,比较适合你这样刚学的,还不容易出错。cctv5体