当两个栈共享一存储区时,栈利用一维数组stack[1…n]表示,初始时两栈顶指针为top1与top2分别指向1和n,入栈操作分别为:stack[top1++]=x和stack[top2--]=x。则,当栈1空时,top1为_______;当栈2空时,top2为_______;栈满时为_______。
举一反三
- 当两个栈共享一存储区时,栈利用一维数组 stack(1,n)表示,两栈顶指针为 top[1]与 top[2],则当栈 1 空时,top[1]为(__),栈 2 空时 ,top[2]为(__),栈满时为(__);
- 当两个栈共享一个存储区时,栈利用一维数组s[N]表示,两栈顶指针为top1与top2(栈顶指针均指向当前栈顶元素所在单元的位置),则当栈1空时,top1为________,栈2空时,top2为________,栈满时为________。
- 当两个栈共享一个存储区时,栈利用一维数组data[1..n]表示,栈1在低下标处,栈2在高下标处。两栈顶指针为top1和top2则当栈1空时,top1为 ① ,栈2空时 ② ,栈满时为 ③ 。
- 当两个栈共享一个存储区时,栈利用一维数组data[1...n]表示,栈1在低下标处,栈2在高下标处。两栈顶指针为top1和top2,初始值分别为0和n+1,则当栈1空时top1为 ① ,栈2空时 ② ,栈满时为 ③ 。
- 当利用大小为n的数组顺序存储一个栈时,假定用top==0表示栈空,则向这个栈插入一个元素时,操作为( )。 A: top=top+1; stack[top]=x; B: stack[top]=x; top=top+1; C: top=top-1; stack[top]=x; D: stack[top]=x; top=top-1;