【正确答案】
A
【答案解析】 栈是一个后进先出、先进后出的数据结构,当采用选项A的方案时,两个栈的栈底位置分别设在了存储空间的两端,栈项各自向中间延伸,两个栈的空间就可以相互调节,充分共享所有的存储空间,互补余缺,只有在整个存储空间被占满时,才会发生上溢,这样产生上溢的概率要小得多。所以,选项A正确。
如果采用选项B或者选项C的方案,相当于把数组平均分配给两个栈,各自有独立的存储空间,即使当栈s2为空的时候,栈s1最多能存放的元素个数为n/2。所以,选项B、选项C错误。
对于选项D,s1的栈底位置设置不正确,所以,选项D错误。
所以,本题的答案为A。