问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

试编写一个算法,让两个顺序栈共用一个数组stack[N],分别实现入栈\出栈操作

发布网友 发布时间:2022-04-27 08:09

我来回答

1个回答

热心网友 时间:2023-09-14 13:08

要2个栈公用一个存储空间看来栈顶指针只能从两端开始了(和队列有点像)
设2个栈为s0,s1 ,s1初始的栈顶指针为-1,s2的初始栈顶指针为N
typedef struct
{
elemtype stack[N]; //栈存储空间
int top[2]; //top为两个栈顶指针
}St;
St s;//s为全局变量用于操作
void push(int i,elemtype e)//入栈操作,i代表栈的编号,e为入栈元素
{
if(i!=0||i!=1)exit(0);//栈号不对
if(s.top[1]-s.top[0]==1)//栈满
{
printf("FULL!");
return;
}
if(i==0)s.tack[++s.top[0]]=e;//s0入栈
if(i==1)s.tack[--s.top[1]]=e;//s1入栈
}
void pop(int i,elemtype &e)//出栈操作,i代表栈的编号,e为出栈元素
{
if(i!=0||i!=1)exit(0);//栈号不对
if(i==0)
{
if(s.top[0]==-1)//栈s0空
{
printf("EMPTY!");
return;
}
else e=s.stack[s.top[0]--];//s0出栈
}
if(i==1)
{
if(s.top[1]==N)//栈s1空
{
printf("EMPTY!");
return;
}
else e=s.stack[s.top[1]++];//s1出栈
}
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
华丽转身为什么在优酷看不了了之 《华丽转身:爱情不在服务区》txt全集下载 翡翠台华丽转身英文曲 matplotlib中plt.imshow函数画图出现的颜色问题 数字图像处理(c++ opencv):形态学图像处理-提取连通域 ...opencv做东西,网上的程序读着还可以,程序遇到问题不会改,一些函_百... 深度学习面试问题总结 | 传统图像处理——OpenCV 活虾如何在晚上保持存活状态进行保存? neu代表什么意思 民办学校和私立学校的区别是什么民办学校和私立学校的区别 我19岁,混合性皮肤,适合用大宝的哪些产品呢 线性表、栈、队列有何异同? 大宝家的明星产品有哪些? 如何用两个堆栈模拟实现一个队列 关于大宝产品 设两个栈(stack1,stack2)共享一个一维数组空间s[m],它们的栈底分别设在数组的两端,试编写一个算法, 大宝系列产品 什么树名? 用一维整数数组实现数据结构中的堆栈(Stack)。(用java语言) 大宝系列产品的使用顺序 各种树的名称 英文 数据结构(C语言)两个栈共存储在一个长度为n的一维数组中…… 大宝系列的哪个好用? 假设以顺序存储结构实现一个双向栈,即在一维数组的存储空间中存在着两个栈,它们的栈底分别设在数组的两 求世界上各种类型的树的名字和特点? 大宝产品有哪些?每款的具体价格是多少? 各种树木的名称??? 十大墙面漆品牌,大宝漆零纯+系列有几个产品啊? 路上的常见树名称 大宝最出名的产品是什么?用起来如何? C语言中的栈、堆是什么? 栈在C中怎么实现? java 任意数据类型 堆栈 堆(heap)和栈(Stack)的区别是什么?为什么平时都把堆栈放在一起讲? R语言中 两个数组元素怎样堆叠 用链表实现堆栈或队列是什么意思 C/C++中字符串数组在堆栈里是怎么分配的?高手请进 C语言版数据结构 关于四则运算的堆栈问题:请高人指出到底哪儿错了 数组和指针在堆栈中的区别,详见下图 汇编语言 堆栈? 一个奇怪的C语言问题,涉及到指针、数组、堆栈、以及printf,希望C语言大神们帮帮忙。 如何从一个数组中查找指定的元素,并返回这个元素在数组中的位置 温度的物理量符号,质量的物理量符号,时间的物理量符号,长度的物理量符号,体积的物理量符号 热理学温度的物理量符号是什么 温度 质量 时间 长度的物理符号 温度,质量,时间,长度的物理量符号是what 摄氏温度:物理量的表示符号为( ),它的单位叫( ),单位符号为( ) 温度是表示物体______的物理量,它的常用单位用______(写符号)表示.水的比热容是4.2×103焦/(千克?℃ 能跳跃的小昆虫有哪些 物理:初温度用什么字母表示,末温度用什么字母表示