Implement Stack and Queue using Linked List in Java

The implementation of a linked list is pretty simple in Java. Each node has a value and a link to next node.

class Node {
	int val;
	Node next;
 
	Node(int x) {
		val = x;
		next = null;
	}
}

Two popular applications of linked list are stack and queue.

Stack: What is stack? Stack is a linear data structure which implements data on last in first out criteria. Here is a java program to implement stack using linked list.

class Stack{
	Node top; 
 
	public Node peek(){
		if(top != null){
			return top;
		}
 
		return null;
	}
 
	public Node pop(){
		if(top == null){
			return null;
		}else{
			Node temp = new Node(top.val);
			top = top.next;
			return temp;	
		}
	}
 
	public void push(Node n){
		if(n != null){
			n.next = top;
			top = n;
		}
	}
}

Queue: Queue is a data structure, that uses First in First out(FIFO) principle. Queue can be implemented by stack, array and linked list. Here is java program to implement queue using linked list.

class Queue{
	Node first, last;
 
	public void enqueue(Node n){
		if(first == null){
			first = n;
			last = first;
		}else{
			last.next = n;
			last = n;
		}
	}
 
	public Node dequeue(){
		if(first == null){
			return null;
		}else{
			Node temp = new Node(first.val);
			first = first.next;
			return temp;
		}	
	}
}

One Thought on “Implement Stack and Queue using Linked List in Java

  1. Hello blogger, i’ve been reading your website for some time and I really like coming back here.
    I can see that you probably don’t make money on your
    site. I know one cool method of earning money,
    I think you will like it. Search google for: dracko’s tricks

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Post Navigation