Зачем реализовывать стеки и очереди Java - PullRequest
0 голосов
/ 06 марта 2012

Почему вы должны реализовать стек или очередь, когда та же функция может быть достигнута со списком?

Ответы [ 4 ]

6 голосов
/ 06 марта 2012

стек и очередь могут быть основаны на списке, но они имеют определенное поведение.Это требует меньше реализации на вашей стороне и дает вам более конкретное и проясненное поведение.

4 голосов
/ 06 марта 2012

Зачем разрешать прямой доступ ко всем элементам вашей коллекции, когда вы хотите / должны разрешать доступ только к переднему или хвостовому элементу?

Кроме того, stack.pop() легче понять, чем list.remove(list.size()-1), иТо же самое относится к большинству других операций со стеком и очередями.

2 голосов
/ 06 марта 2012

Как правило, при реализации более конкретной структуры данных с более конкретной целью можно добиться большей эффективности как в реализации структуры данных, так и в API использования.

2 голосов
/ 06 марта 2012

http://introcs.cs.princeton.edu/java/43stack/

Выше ссылка объяснит вам ясную картину, почему они ввели

В этих новых структурах просто помните о более высокой производительности и вместо того, чтобы переписывать классы снова ...

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