请在 下方输入 要搜索的题目:

将编号为0和1的两个栈存放于一个数组空间V[m]中,栈底分别处于数组的两端。当第0号栈的栈顶指针top[0]等于-1时该栈为空,当第1号栈的栈顶指针top[1]等于m时该栈为空。两个栈均从两端向中间增长。试编写双栈初始化,判断栈空、栈满、进栈和出栈等算法的函数。双栈数据结构的定义如下:Typedef struct{int top[2],bot[2];//栈顶和栈底指针 SElemType *V;//栈数组 int m;//栈最大可容纳元素个数}DblStack

将编号为0和1的两个栈存放于一个数组空间V[m]中,栈底分别处于数组的两端。当第0号栈的栈顶指针top[0]等于-1时该栈为空,当第1号栈的栈顶指针top[1]等于m时该栈为空。两个栈均从两端向中间增长。试编写双栈初始化,判断栈空、栈满、进栈和出栈等算法的函数。双栈数据结构的定义如下:Typedef struct{int top[2],bot[2];//栈顶和栈底指针 SElemType *V;//栈数组 int m;//栈最大可容纳元素个数}DblStack

发布时间:2024-11-26 15:10:51
推荐参考答案 ( 由 快搜搜题库 官方老师解答 )
联系客服
答案:[题目分析]两栈共享向量空间,将两栈栈底设在向量两端,初始时,左栈顶指针为-1,右栈顶为m。两栈顶指针相邻时为栈满。两栈顶相向、迎面增长,栈顶指针指向栈顶元素。[算法描述](1) 栈初始化int Init() {S.top[0]=-1;  S.top[1]=m;  return 1; //初始化成功}(2) 入栈操作:int push(stk S ,int i,int x)∥i为栈号,i=0表示左栈,i=1为右栈,x是入栈元素。入栈成功返回1,失败返回0{if(i<0||i>1){ cout<<“栈号输入不对”<1){cout<<“栈号输入错误”<
专业技术学习
专业技术学习
搜搜题库系统