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)队列是先进先出的线性表,适用于排队等问题

  • 相关阅读:
    springboot+mybatis集成多数据源MySQL/Oracle/SqlServer
    向Spring容器中注册组件的方法汇总小结
    使用spring initialization创建SpringBoot项目
    mybatis-generator 的坑我都走了一遍
    初识Jsp,JavaBean,Servlet以及一个简单mvc模式的登录界面
    【Linux】用户只显示$问题
    【Linux】Ubuntu创建用户、删除用户、设置用户密码,root和普通用户切换
    【linux】ubuntu安装ssh
    【整理】【JS】map的基本操作
    【整理】【JS】数组定义、添加、删除、替换、遍历基本操作
  • 原文地址:https://www.cnblogs.com/tenghoo/p/Data_Structures_StackandQueue.html
Copyright © 2011-2022 走看看