博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
了解集合本质必须要知晓的概念02-堆栈
阅读量:6408 次
发布时间:2019-06-23

本文共 1017 字,大约阅读时间需要 3 分钟。

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

 

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

 

接着上一篇,写一个派生于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大学教程--(第三版)

 

“了解集合本质必须要知晓的概念”系列包括:

转载地址:http://fxqea.baihongyu.com/

你可能感兴趣的文章
Low Level Reader Protocol (LLRP) 简介
查看>>
[Micropython]TPYBoard v10x NRF24L01无线通讯模块使用教程
查看>>
mysql中show processlist过滤和杀死线程
查看>>
最新Sublime Text 2 激活 汉化
查看>>
基础数据类型之字典
查看>>
第七次作业
查看>>
Oracle中NVARCHAR2与VARCHAR2的区别
查看>>
php debug
查看>>
Ubuntu构建LVS+Keepalived高可用负载均衡集群【生产环境部署】
查看>>
温州动车事故中受伤的“我”,还好吗?
查看>>
lvm实现快速备份文件及数据库,lvm快照原理
查看>>
通常,人们会高估自己的学习能力
查看>>
设计模式之Factory Method(工厂方法)
查看>>
10K入职linux运维岗位小伙伴感谢信及面试经历分享
查看>>
Gartner:智能SOC/情报驱动的SOC的五大特征
查看>>
zookeeper入门之Curator的使用之几种监听器的使用
查看>>
[转]Reporting Service部署之访问权限
查看>>
innerxml and outerxml
查看>>
validform校验框架不显示错误提示
查看>>
flink 获取上传的Jar源码
查看>>