AuD
Lecture 'Algorithmen und Datenstrukturen' (code examples)
QueueDL.java
Go to the documentation of this file.
1package aud;
2
4import java.util.NoSuchElementException;
5
10//@<queuedl:class
11public class QueueDL<T> extends AbstractQueue<T> {
12
13 DList<T> data_;
14
15 public QueueDL() { data_=new DList<T>(); }
16//@>queuedl:class
17
18 //@<queuedl:state
19 @Override public boolean is_empty() {
20 return data_.empty();
21 }
22 @Override public T front() {
23 if (data_.empty())
24 throw new NoSuchElementException();
25 return data_.front();
26 }
27 //@>queuedl:state
28
29 //@<queuedl:manip
30 @Override public T dequeue() {
31 if (data_.empty())
32 throw new NoSuchElementException();
33 T obj=data_.front();
34 data_.pop_front();
35 return obj;
36 }
37
38 @Override public void enqueue(T x) {
39 data_.push_back(x);
40 }
41 //@>queuedl:manip
42
43 @Override public String toString() {
44 if (is_empty())
45 return "<";
46
47 String s="";
48 DList<T>.ForwardIterator i=data_.iterator();
49 while (i.hasNext()) {
50 s+=i.next().toString()+"<";
51 }
52 return s;
53 }
54}
Forward iterator.
Definition: DList.java:253
T next()
return current entry and advance forward
Definition: DList.java:262
Implementation of a doubly linked list.
Definition: DList.java:47
Impementation of AbstractQueue based on doubly linked list DList.
Definition: QueueDL.java:11
T front()
Get front element of queue.
Definition: QueueDL.java:22
void enqueue(T x)
Enqueue element at end of queue.
Definition: QueueDL.java:38
T dequeue()
Remove front element from queue.
Definition: QueueDL.java:30
boolean is_empty()
Is queue empty?
Definition: QueueDL.java:19
String toString()
Definition: QueueDL.java:43
Interface for an ADT queue.
abstract data types
AuD lecture: Data structures, algorithms, examples.