问答题 在某程序中,有两个栈共享一个一维数组空间SPACE[N]、SPACE[0]、SPAC[N-1]分别是两个栈的栈底。
问答题 对栈1、栈2,试分别写出(元素x)入栈的主要语句和出栈的主要语句。
【正确答案】正确答案:设topl和top2分别为栈1和栈2的栈顶指针 (1)入栈主要语句: if(top2一topl==1)(cout<<“栈满”; exit(0);) casel:topl++; SPACE[topl]=x; //设X为入栈元素 Case2:top2一一; SPACE[top2]=x; 出栈主要语句: casel:if(topl==一1)(cout<<”栈空“;exit(0);} topl一一;return(SPACE[topl+1]); //返回出栈元素 Case2:if(top2==N){cout<<“栈空”;exit(0);} top2++;return(SPACE[top2—1]); //返回出栈元素
【答案解析】
问答题 对栈1、栈2,试分别写出栈满、栈空的条件。【北京理工大学1999二、2(8分)】
【正确答案】正确答案:栈满条件:top2一top1==1 栈空条件:topl==一1&&top2==N //topl=一1为左栈空,top2=N为右栈空
【答案解析】