Что такое двойной стек? - PullRequest
1 голос
/ 14 июня 2011

Я сейчас учусь на выпускном экзамене и вижу следующий вопрос в конце слайдов профессора, посвященных стеку:

What is a Double Stack?

Iзнать, что стек представляет собой упорядоченную коллекцию однородных элементов (то есть список), в котором все вставки и удаления выполняются на одном конце списка, называемом вершиной стека, но что такое двойной стек?Я пробовал поиск через Google, и мне не повезло с поиском ответа.

Ответы [ 3 ]

3 голосов
/ 14 июня 2011

Это могут быть 2 стека, которые хранятся в одном массиве и растут в противоположном направлении.

http://www.ceglug.org/index.php/labs/45-double-stack-implementationwith-structuresand

Хотя это единственная ссылка, которую я нашел.

1 голос
/ 12 февраля 2012

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

1 голос
/ 14 июня 2011

DoubleStack - это стек двойных значений.

Вы можете найти больше информации на

http://www.cis.syr.edu/courses/cis351/docs/edu.colorado.collections.DoubleStack.html.gz

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...