Двойной стек означает два стека, которые реализованы с использованием одного массива. Чтобы предотвратить потерю памяти, два стека растут в противоположном направлении. Указатель tops1 и tops2 указывает на самый верхний элемент стека 1 и стека 2 соответственно. Сначала tops1 инициализируется как -1, а tops2 инициализируется емкость. Когда элементы помещаются в стек 1, значение tops1 увеличивается. Точно так же, когда элементы помещаются в стек 2, tops2 уменьшается. Итак, массив заполнен, когда tops1 = tops2-1. Помимо этого, вставка элемента в любой стек приведет к состоянию переполнения.