问答题
一个双向栈S是在同一向量空间内实现的两个栈,它们的栈底分别设在向量空间的两端。试为此双向栈设计初始化InitStack(S)、入栈Push(S,i,x) 和出栈Pop(S,i)等算法,其中i为0或1,用以表示栈号。
双向栈其实和单向栈原理相同,只是在一个向量空间内,好比是两个头对头的栈放在一起,中间的空间可以充分利用。双向栈的算法设计......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
问答题 设计算法判断一个算术表达式的圆括号是否正确配对。(提示:对表达式进行扫描,凡遇到’(’就进栈,遇’)’就退掉栈顶的’(’,表达式被扫描完毕,栈应为空。
问答题 利用栈的基本操作, 写一个返回S中结点个数的算法int StackSize( SeqStack S),并说明S为何不作为指针参数?
问答题 利用栈的基本操作,写一个将栈S中所有结点均删去的算法void ClearStack(SeqStack *S),并说明S为何要作为指针参数?