如何将两个栈使用同一个内存空间

将一个栈的栈底为数据的终端,即下标为0

另一个栈的栈底为数据的末端,即下标为n-1

如下图:

/*两栈共享空间结构*/

typedef struct

{

SElemType data[MAXSIZE];

int top1;                /*栈1 栈顶指针 */

int top2;               /* 栈2 栈顶指针*/

}SqDoubleStack;

根据图可得:

栈满的条件是:

栈1为空,栈2为满top2 = 0;

栈2位空,栈1为空top1 = n - 1;

两栈见面时,即top1 + 1 = top2;

数据结构--栈--两栈共享空间相关推荐

  1. 【数据结构】两栈共享空间的进一步理解

    目录 前言 正文 对①中的理解: 对②中的疑惑: 对③④中的理解: 对栈满条件的理解: 总结 前言 在阅读<大话数据结构>时,对文中"两栈共享空间"中部分知识点存在困惑 ...

  2. 【数据结构】两栈共享空间(双端栈)

    1.定义 两栈共享空间:使用一个数组来存储两个栈,让一个栈的栈底为该数组的始端,另一个栈的栈底为该数组的末端,两个栈从各自的端点向中间延伸. 栈1的底固定在下标为0的一端: 栈2的底固定在下标为Sta ...

  3. C#数据结构:两栈实现队列,两队列实现栈

    两个栈实现队列:栈实现先进先出 栈1负责队尾,栈2负责队头 每次入队,栈2无元素且栈1无元素,入栈2:否则入栈1 每次出队,栈2有元素,出栈2顶:否则把全部栈1入栈2,再出栈2顶 bool Pop(r ...

  4. 【数据结构】之两栈共享空间(C语言)

    文章目录 引言 实现之两栈共享空间 插入元素 删除元素 完整代码 引言 栈的顺序存储还是很方便的,因为它只准栈顶进出元素,所以不存在线性表插入和删除时需要移动元素的问题.不过栈有一个比较大的缺陷,就是 ...

  5. 数据结构与算法(3-1)栈(顺序栈、两栈共享空间、链栈、栈的计算器)

    目录 一.顺序栈 存储结构 总代码 二.两栈共享空间 存储结构: 总代码: 三.链栈 存储结构: 总代码: 一.顺序栈 存储结构: 栈特点:先进后出,后进先出.(特殊的线性表) 入栈时在栈顶添加元素, ...

  6. 两栈共享空间的存储结构设计

    两栈共享空间的存储结构设计 概述 数据结构设计 算法设计 1. 入栈(需预先判断是否栈满) 2. 出栈(需预先判断是否栈空) 概述 由于栈的插入和删除操作具有它的特殊性,用顺序存储结构表示的栈插入或删 ...

  7. 顺序栈的实现和两栈共享空间

    顺序栈的实现和两栈共享空间 一.顺序栈的实现 栈(stack)是限定仅在表尾进行插入或删除操作的线性表.我们把允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom),不含任何数据元素的 ...

  8. 两栈共享空间 C语言实现

    /* 两栈共享空间 作者:S_hmily 日期:2011年8月31日 编译环境:VC6.0++ 栈1空 S->top1 == -1 栈2空 S->top2 == MaxSize 栈满 S- ...

  9. 【数据结构】栈-顺序栈、链式栈、共享栈

    栈的定义 栈(Stack):只允许在一端进行插入或删除操作的线性表 栈顶(Top):线性表允许进行插入和删除的那一端. 栈底(Bottom):固定的,不允许进行插入和删除的另一端. Tips: 1.栈 ...

最新文章

  1. Linux之解析鼠标input事件数据
  2. c++中调用Com组件的方法详解
  3. 汇编语言(十)之最小偶数
  4. 2019阿里云910会员节大促主会场全攻略
  5. redis哨兵模式没有切换主机_Redis哨兵(Sentinel)模式
  6. linux下tmp目录属性,Linux:文件夹属性及umask
  7. activereports_报表 ActiveReports 迎来 .Net Core 时代!一键创建 .Net Core 项目
  8. 为VMware ESXi主机添加本地存储的过程及注意事项之2
  9. std::set, std::list, std::vector在erase的区别
  10. Easyui 中获取DataGrid中所有数据
  11. java冒泡排序代码简单_Java冒泡排序简单实现
  12. 交换机上网显示本地未连接服务器,本地连接提示受限制或无连接,处理思路?...
  13. 实用系列1 —— 视频中的语音转换成文字
  14. nodejs中events模块的使用
  15. Java基础知识(七) 输入输出流
  16. Cauchy-Schwarz Inequality
  17. 【MFC】Ribbon界面开发(一)
  18. 固实压缩文件容易损坏_winrar应用:创建分卷固实压缩带恢复记录的压缩文件 [原创]...
  19. exception java .text_java.text.ParseException
  20. MapGIS产品锦囊——获取数据节点坐标信息三步“走”司马云司马云

热门文章

  1. 网易免费企业邮箱Foxmail设置方法
  2. 新浪顶级架构师保驾护航!国内首本大型分布式架构笔记浴火新生
  3. MATLAB画曲线图
  4. cst matlab,CST-MATLAB-API-1.0.0 Linking matlab and cst - 下载 - 搜珍网
  5. 咸鱼Maya笔记—渲染基础
  6. 我在帝都买房后,又开始思考怎样赚更多的钱了。
  7. DMIPS, FLOPS, OPS概念
  8. javaWeb10(ckeditorsmartupload)
  9. linux造字程序,巧借“系统工具”,完成仓颉造字
  10. Linux版本的mcnp6,Initial MCNP6 release overview. MCNP6 version 0.1