Friday, July 3, 2015

Queue Implementation as LinkedList

package ds.queue.implementation;

class QueueList {
Node first = null;

public QueueList(Node first) {
this.first = first;
}

QueueList() {

}

void enQueue(int sData) {
Node newNode = new Node(sData);
if (first == null)
first = newNode;
else {
Node current = first;
while (current.next != null) {
current = current.next;
// newNode.next = null;
}
current.next = newNode;
newNode.next = null;
}
}

boolean isEmpty() {
return first == null;
}

void dequeue() {
if (isEmpty())
return;
else {
first = first.next;
}
}

void display(Node node) {
Node current = node;
do {
System.out.print(" " + current.nData);
current = current.next;
} while (current != null);
}
}

class Node {
int nData;
Node next;

Node(int nData) {
this.nData = nData;
}

Node() {
}
}

public class QueueSample {
public static void main(String args[]) {
QueueList queueList = new QueueList();
queueList.enQueue(111);
queueList.enQueue(222);
queueList.enQueue(333);
queueList.enQueue(444);
queueList.display(queueList.first);
queueList.dequeue();
System.out.println();
queueList.display(queueList.first);

}

}

No comments:

Post a Comment