本文详细讲解了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();
}
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对得得之家的支持。如果你想了解更多相关内容请查看下面相关链接
沃梦达教程
本文标题为:C#集合本质之堆栈的用法详解
猜你喜欢
- c# 模拟线性回归的示例 2023-03-14
- user32.dll 函数说明小结 2022-12-26
- Unity Shader实现模糊效果 2023-04-27
- Oracle中for循环的使用方法 2023-07-04
- 如何使用C# 捕获进程输出 2023-03-10
- 在C# 8中如何使用默认接口方法详解 2023-03-29
- Unity3D实现渐变颜色效果 2023-01-16
- C# 使用Aspose.Cells 导出Excel的步骤及问题记录 2023-05-16
- .NET CORE DI 依赖注入 2023-09-27
- WPF使用DrawingContext实现绘制刻度条 2023-07-04