• 栈和队列是两种在运算时要受到某些特殊限制的线性表,故也称为限定性的数据结构。

    1.概念

      定义:栈是限定只能通过一端来实现数据存储和检索的一种线性表。

      栈顶(top)是允许插入和删除的一端。

      栈底(bottom)是不允许插入和删除的一端。

      修改原则:先进后出或后进先出(Last In Frist Out,LIFO)  

     2.栈的存储结构

      栈的存储结构有顺序存储和链式存储。

      ①栈的顺序存储(顺序栈):指用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素,同时附设指针top指示栈顶元素的位置。

      ②栈的链式存储(链栈):用链表作为存储结构,由于栈中元素的插入和删除仅在栈顶一端进行,因此不必设置头结点,链表的头指针就是栈顶指针。

     3.栈的操作  

      stacksize:栈的最大容量,表示系统分配给栈的最大存储单元。

      插入元素(入栈):先top+1,再插入元素。

      删除元素(出栈):先出栈,再top-1。

      空栈的判断:top=0 或 top=bottom。

      求栈内元素个数:num=top-bottom。

      栈满判断:top=stacksize。

    4.栈的典型应用

      表达式求值、括号匹配、递归函数调用、数制转换等。

  • 相关阅读:
    博客转移到cnblogs
    mmsplayer for ios 支持iphone ,ipad,ipod touch 版本已经完成。
    mmsplayer for ios v1.0
    无ldf文件情况下恢复数据库数据纪实
    我的Blog页面设计
    使用C#生成静态页面
    C++开发工具
    使用JNDI来读取Notes通讯录中的数据
    关于Char与string
    JavaScript站点荟萃
  • 原文地址:https://www.cnblogs.com/jingchi/p/15928954.html
Copyright © 2020-2023  润新知