Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        在4个月前关闭。
                                                                                            
                
        
单个数组A [1 .... MAXSIZE]用于实现两个堆栈。两个堆栈从数组的相对两端开始生长。变量top1和top2(top1

最佳答案

当两个顶部碰撞时,两个堆栈都已满。

[e1|e2|e3|_|_|_|_|f2|f1]
        |          |
       top1        top2


这意味着如果top1+1 == top2,则堆栈已满
 还是top2==0top1==MAXSIZE-1

请注意,两个堆栈共享相同的空间。因此,如果您的数组已满,则两个堆栈都已满,否则2个堆栈中的任何一个都可能再包含一个元素。
这就解释了为什么上述条件适用于两个堆栈。

10-06 07:01