`

C#实现栈和队列

阅读更多
有了前一篇C#链表的实现,实现栈和队列易如反掌。

栈,利用单向链表实现:
<!---->public abstract class AbstractStack
    {
        
public abstract Object Pop();
        
public abstract void Push(Object obj);
        
public abstract bool IsEmpty();
        
public abstract Object Top();
        
public abstract void Clear();
    }

    
public class Stack : AbstractStack
    {
        
private SList list;
        
public Stack()
        {
            list 
= new SList();
        }
        
public override bool IsEmpty()
        {
            
return list.IsEmpty();
        }
        
public override void Push(Object obj)
        {
            list.Push(obj);
        }
        
public override object Pop()
        {
            
return list.Pop();
        }
        
public override object Top()
        {
            
return list.getTail();
        }
        
public override void Clear()
        {
            list.Clear(); 
        }
    }

队列的实现,通过双向链表实现,对于环形数组的实现请参考《数组结构之栈与链表》:
<!----> public interface Queue
    {
        
bool IsEmpty();
        
void Enqueue(Object obj);
        Object Dequeue();
        Object First();
    }

    
public class ListQueue:Queue
    {
        
private LinkedList list;
        
public ListQueue()
        {
            list 
= new LinkedList();
        }

        
public bool IsEmpty()
        {
            
return list.IsEmpty();
        }

        
public void Enqueue(Object obj)
        {
            list.Push(obj);
        }
        
public Object Dequeue()
        {
            
return list.Shift();
        }

        
public Object First()
        {
            
return list.getHead();
        }
    }
分享到:
评论

相关推荐

    C#(数据结构与教程)栈和队列的算法程序

    c#栈和队列(两种)算法的应用。举一个简单的例子:在往箱子里面放衣物的时候,放在最上面的衣物总是我们最后放上去的;而当我们从箱子里取出衣物的时候,总是最先拿出上面的。这就是现实生活中的栈。 准确的讲,栈...

    03-栈和队列-11

    数据结构实验(3)栈和队列目录• 栈与队列• 栈与队列的定义与实现• 栈与队列的应用• 函数栈与括号匹配问题• 队列与轮训调度• 深度优先与广度优先遍历算法•

    用两个栈实现队列(纯原创,亲测可行)

    队列的两种实现方式一种是数组一种是栈,此处介绍如何将用两个栈来实现一个队列

    数据结构实验 栈与队列之在机器上模拟农夫过河问题

    为了实现广度优先搜索,需要用几个函数来表示这四个角色的位置,用整数队列moveTo,来表示中间状态,还需要一个整数顺序表来记录已被访问的各个状态。若已经访问过了,则在这个顺序表元素中记入前驱状态值。利用顺序...

    数据结构(表,队列等)的基本操作

    主要的数据结构(顺序表、链表、栈、队列、循环表和循环队列)的一些基本操作,适合初步学习数据结构人员参考,均是在win32下运行,调试通过

    daacheng#PythonBasic#用队列实现栈1

    225.用队列实现栈题目使用队列实现栈的下列操作:* pop() -- 移除栈顶元素* top() -- 获取栈顶元素* empty() -- 返回栈是否为空代

    泛型顺序队列和循环队列

    本实例实现了泛型顺序队列和泛型循环队列的基本操作,并通过界面演示了队列中元素的变化,最后结合栈实现了回文字符串的判断,通过本实例可以充分掌握C#队列数据结构。

    C#实现顺序队列和链队列的代码实例

    和上篇栈的实现基本是一个思路: 废话不多说,直接写代码吧 //自定义队列接口 namespace 队列 { interface IQueue { int Count { get; } int GetLength(); bool IsEmpty(); void Clear(); void Enqueue(T ...

    简单的顺序栈C程序 C/C##

    基本的进栈、出栈、显示栈元素.......

    C# 链表 堆栈 队列

    数据结构实现方式,可以更深刻的理解这些数据结构的实现方式

    基于栈和队列的电梯模拟算法.zip

    对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同...

    数据结构-代码(C#实现)

    链表:单链表,双向链表,循环链表 栈,队列 二叉树应用-表达式求值 树的操作 图 二分查找 排序算法:插入排序,选择排序,冒泡排序 -全是C#,附上Viso图和一些解释

    c#数据结构与算法(视频)

    c#数据结构,包含自己实现栈和队列,实现list集合,使用顺序存储与链式存储两种方式实现

    C#通过链表实现队列的方法

    本文实例讲述了C#通过链表实现队列的方法。分享给大家供大家参考。具体实现方法如下: public class Node { public int Data { get; set; } public Node Next { get; set; } public Node(int data) { this....

    数据结构 C#语言版 1

    1 1 2 基本概念和术语 1 1 2 算法 4 1 2 1算法的特性 4 1 2 2算法的评价标准 5 1 2 3算法的时间复杂度 6 1 3 数学预备知识 7 1 3 1 集合 7 1 3 2 常用的数学术语 8 1 3 3 对数 8 1 3 4 递归 9 1 4 C#预备知识 10 1 4...

    c#数据结构daquan

    基本任务: 是学习常见的基本数据结构,包括线性表、栈和队列、数组和字符串、树、搜索树、散列表、图和文件等,理解它们的逻辑结构、存储结构,领会在这些数据结构上定义的运算和实现运算的算法。学习和领会内、外...

    后缀表达式求值 栈

    用数据结构栈实现后缀表达式求值的问题 输入一个后缀表达式 可计算出它的值

    数据结构C#代码

    数据结构的C#实现以及简单窗体应用。包括栈、队列、图等各种典型数据结构。

    C#编写的树的非递归层次和广度优先遍历

    用队列和栈实现树的非递归层次遍历和广度优先遍历。

    数据结构 c#版

    1 1 2 基本概念和术语 1 1 2 算法 4 1 2 1算法的特性 4 1 2 2算法的评价标准 5 1 2 3算法的时间复杂度 6 1 3 数学预备知识 7 1 3 1 集合 7 1 3 2 常用的数学术语 8 1 3 3 对数 8 1 3 4 递归 9 1 4 C#预备知识 10 1 4...

Global site tag (gtag.js) - Google Analytics