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

  • 相关阅读:
    0541-leetcode算法实现之反转字符串II-reverseStrII-python&golang实现
    helm 入门简介与安装(1)
    ubuntu18.04 netplan 设置dns,dns不生效
    服务器报错WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
    0344-leetcode算法实现之反转字符串-reverse-string-python&golang实现
    python os模块常用方法总结
    0076-leeycode算法实现之最小覆盖子串-minimum-window-substring-python&golang实现
    0904-leetcode算法实现之水果成篮-fruit-into-baskets-python&golang实现
    0209-leetcode算法实现之长度最小子数组-minimum-size-subarray-sum-python&golang实现
    0977-leetcode算法实现之有序数组的平方sqaure-of-a-sorted-array-python&golang实现
  • 原文地址:https://www.cnblogs.com/tenghoo/p/Data_Structures_StackandQueue.html
Copyright © 2011-2022 走看看