Реализации алгоритмов/Очередь: различия между версиями
Содержимое удалено Содержимое добавлено
Нет описания правки |
Wiki13 (обсуждение | вклад) м revert (vandalism) Метка: откат |
||
Строка 1:
{{wikipedia|Очередь (программирование)}}
'''Очередь''' — структура данных с дисциплиной доступа к элементам «первый пришёл — первый вышел» ([[w:FIFO|FIFO]]).
Добавление элемента (принято обозначать словом enqueue — поставить в очередь) возможно лишь в конец очереди, выборка — только из начала очереди (что принято называть словом dequeue — убрать из очереди), при этом выбранный элемент из очереди удаляется.
== [[Java]] ==
<source lang="java">
public class Node {
public Node next;
public int value;
}
public class Queue {
Node first,last;
public void push(Object obj) {
if (obj == null || !(obj instanceof Node))
return;
else {
Node node = (Node)obj;
if (first == null) {
last = node;
first = last;
}
else {
last.next = node;
last = last.next;
}
}
}
public Node pop() {
if (first == null) {
return null;
}
else {
if (first == last) {
return last;
}
else {
Node buf = first;
first = first.next;
return buf;
}
}
}
}
</source>
{{BookCat}}
|