问题 单项选择题

为了减少栈溢出的可能性,可让两个栈共享一片连续内存空间,两个栈的栈底分别设在这片空间的两端,这样,只有当( )时才可能产生上溢。

A.两个栈的栈顶在栈空间的某一位置相遇

B.其中一个栈的栈顶到达栈空间的中心点

C.两个栈的栈顶同时到达栈空间的中心点

D.两个栈均不空,且一个栈的栈顶到达另一个栈的栈底

答案

参考答案:A

解析: 两栈共享连续存储空间,两个栈的栈底分别设在这个存储空间的两端的存储结构中,为了使两栈的空间能够做到互补余缺,减少溢出的可能性,两个栈的栈满溢出都不能按位置判别,仅当两栈的栈顶相遇时,才可能栈满溢出。选择项B、C、D都是按栈顶位置来判别是否产生上溢,因此都是错误的。选择项A符合上述判别原则,即两个栈的栈顶在栈空间的某一位置相遇时才可能产生上溢。因此,A是正确答案。

单项选择题
单项选择题