问题
单项选择题
为了减少栈溢出的可能性,可让两个栈共享一片连续内存空间,两个栈的栈底分别设在这片空间的两端,这样,只有______时才可能产生上溢。
A.两个栈的栈顶在栈空间的某一位置相遇
B.其中一个栈的栈顶到达栈空间的中心点
C.两个栈的栈顶同时到达栈空间的中心点
D.两个栈均不为空,且一个栈的栈顶到达另一个栈的栈底
答案
参考答案:A
解析:[评析] 两栈共享连续存储空间,两个栈的栈底分别设在这个存储空间的两端的存储结构中,为了使两栈的空间能够做到互补余缺,减少溢出的可能性,两个栈的栈满溢出都不能按位置判别,仅当两栈的栈顶相遇时,才可能栈满溢出。选项B、C、D都是按栈顶位置来判别是否不产生上溢,因此是错误的。选项A符合上述判别规则,即两个栈的栈项在栈空间的某一位置相遇时才可能产生上溢。