zoukankan      html  css  js  c++  java
  • C#数据结构(二)栈和队列

    上一篇:C#数据结构(一)----线性表

    栈和队列属于线性结构,线性表、栈和队列这三种数据结构的数据元素以及数据元素间的逻辑关系完全相同。
    差别是线性表的操作不受限制,而栈和队列的操作受到限制。
    栈的操作只能在表的一端进行,队列的插入操作在表的一端进行而其它操作在表的另一端进行,所以,把栈和队列称为操作受限的线性表。 

    1、栈接口

    栈的接口定义

    2、顺序栈

    顺序栈

    3、链栈

    链栈

    4、例子

    例子

     * C#中的栈:
     * C#2.0以下版本提供非泛型的栈,继承自接口ICollection,IEnumerable和ICloneable。
     * C#2.0以上版本提供泛型栈(Stack<T>),继承自接口IEnumerable<T>, ICollection, IEnumerable。
    5、队列接口

    队列接口

    6、顺序队列

    顺序队列

    7、链队列

    链队列

    8、例子

    例子

     * C#中的队列:
     * C#2.0以下版本提供非泛型的队列,继承自接口ICollection,IEnumerable和ICloneable。
     * C#2.0以上版本提供泛型队列(Queue<T>),继承自接口IEnumerable<T>, ICollection, IEnumerable。

      小结:
      1)栈和队列是操作受限的线性表。
         2)栈和队列有两种存储结构,顺序存储结构和链式存储结构
         3)栈是先进后出的线性表,适用于括号匹配、表达式求值等问题。
         4)队列的删除操作在队头进行,而插入、查找等操作在队尾进行
         5)队列是先进先出的线性表,适用于排队等问题

  • 相关阅读:
    Kubernetes 1.5部署sonarqube
    Kubernetes 1.5集成heapster
    Kubernetes 1.5 配置dashboard
    SQL SERVER中的逻辑读取,物理读取,以及预读的理解
    JS控制显示/隐藏二级菜单
    Css下拉菜单设置
    div包裹页面后多余部分没有显示,也没滚动条 overflow 属性设置
    Sql Ado.net 学习笔记之连接字符串
    Winform异步解决窗体耗时操作(Action专门用于无返回值,Func专门用于有返回值)
    SQL中的字母的大小写转换
  • 原文地址:https://www.cnblogs.com/tenghoo/p/Data_Structures_StackandQueue.html
Copyright © 2011-2022 走看看