了解集合本质必须要知晓的概念02-堆栈
在"了解集合本质必须要知晓的概念-链表"中,我们了解了链表的概念和种类,并且模拟了一个单向链表。本篇体验的堆栈是约束版的链表,只能在栈顶接收新节点和释放节点。
堆栈的主要操作是压栈和出栈。压栈是将新节点放在栈顶,出栈是从栈顶取出一个节点,返回新弹出节点的数据项。堆栈也称为后进先出的数据结构。
接着上一篇,写一个派生于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();}
参考资料:
Visual C# 2008大学教程--(第三版)
“了解集合本质必须要知晓的概念”系列包括:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!
· 用 C# 插值字符串处理器写一个 sscanf