Реализации алгоритмов/Очередь: различия между версиями

Содержимое удалено Содержимое добавлено
(нет различий)

Версия от 20:32, 28 января 2015

Очередь — структура данных с дисциплиной доступа к элементам «первый пришёл — первый вышел». Добавление элемента (принято обозначать словом enqueue — поставить в очередь) возможно лишь в конец очереди, выборка — только из начала очереди (что принято называть словом dequeue — убрать из очереди), при этом выбранный элемент из очереди удаляется.

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;
			}
		}
	}
}