设数组S[n]作为两个栈S1和S2的存储空间,对任何一个栈只有当S[n]全满时才不能进行进栈操作。为这两个栈分配空间的最佳方案是( )。

admin2013-07-12  21

问题 设数组S[n]作为两个栈S1和S2的存储空间,对任何一个栈只有当S[n]全满时才不能进行进栈操作。为这两个栈分配空间的最佳方案是(    )。

选项 A、S1的栈底位置为0,S2的栈底位置为n-1
B、S1的栈底位置为0,S2的栈底位置为n/2
C、s1的栈底位置为0,S2的栈底位置为n
D、s1的栈底位置为0,S2的栈底位置为1

答案A

解析 利用栈底位置不变的特性,可让两个顺序栈共享一个一维数据空间,以互补余缺,实现方法是:将两个栈的栈底位置分别设在存储空间的两端,让它们的栈顶各自向中间延伸。这样,两个栈的空间就可以相互调节,只有在整个存储空间被占满时才发生上溢,这样一来产生上溢的概率要小得多。
转载请注明原文地址:https://kaotiyun.com/show/drxi777K
0

最新回复(0)