Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

ison4eto avatar ison4eto 40 Точки

Въпрос относно Stack and Queue

Здравейте,

Започнах да решавам задачите и стигнах до следния казус. Стека и опаршата се дефинират със следния код:

ArrayDeque<Integer> stack = new ArrayDeque<>();

ArrayDeque<Integer> queue = new ArrayDeque<>();


В такъв случай компилаторът как разбира дали ползваме стек или опашка. Случи ми се на една от задачите да ползвам опашка (или поне аз така си мислех), но май тя работи като стек. Разбирам на теория разликата между двете, но не схващам как като ги дефинираме по един и същи начин разбираме кое от двете ползваме. Обяснете ми, моля.

Предварително благодаря за отделеното време.

Тагове:
0
Java Advanced
valkata1220 avatar valkata1220 20 Точки
Best Answer

Можеш да прочетеш за ArrayDeque ТУК!  Също така можеш да го обхождаш и с for each ! И зависи какви методи използваш :

За Stack:

   push()  - добавя елемент най - отгоре .

   pop() - премахва последно добавения елемент.

   peek() - показва най-горния елемент/последния довабен без да прави каквото и да е с него .

За Queue:

   add() - добавя елемент към опашкатa i хвърля exceptiion , aкo е пълна ;

   offer() - добавя елемент към опашкатa и ако е пълна връща false .

 

   remove() - премахва първия добавения елемент и ако няма такъв хвърля exception.

   poll() - премахва първия добавения елемент и ако няма такъв връща 

   peek() - показва първия елемент 

0
07/10/2017 13:25:49
icowwww avatar icowwww 2673 Точки

ArrayDeque- double ended queues. Tова е едновременно и стек и опашка. Ти си решаваш като какво да го ползваш.

1
05/10/2017 23:28:33
borislav9212 avatar borislav9212 745 Точки

В Stack се вмъква с push() и се премахва елемент с pop(), а при queue offer() и poll().

-1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.