Saturday, March 8, 2014

Stack ADT using Sinlgle Linked List

Program :
import java.util.Scanner;
interface SStackADT{
    void push();
    void pop();
    void display();
}
class Ssnode{
    int data;
    Ssnode link;
}
public class StackSll extends Ssnode implements SStackADT{
    Ssnode top;
    Scanner s=new Scanner(System.in);
    public StackSll(){
        top=null;
    }
    public void push(){
        System.out.print("Insert the element into the stack :");
        int ele=s.nextInt();
        Ssnode p=new Ssnode();
        p.data=ele;
        p.link=top;
        top=p;
    }
    public void pop(){
        if(top==null)
            System.out.println("Stack is empty");
        else{
            System.out.println("Popped item :"+top.data);
            top=top.link;
        }
    }
    public void display(){
        Ssnode temp;
        if(top==null)
            System.out.println("Stack is empty");
        else{
            System.out.println("Stack elements are :");
            for(temp=top;temp!=null;temp=temp.link)
                System.out.println("-->"+temp.data);
        }
    }
    public static void main(String args[]){
        System.out.println("Single Linked List Stack ADT");
        Scanner s=new Scanner(System.in);
        StackSll s1=new StackSll();
        String ch="y";
        while(ch.equalsIgnoreCase("y")){
            System.out.println("\n Stack operations:\n1.Push 2.Pop 3.Display 4.Exit\nEnter the option :");
            int opt=s.nextInt();
            switch(opt){
                case 1:s1.push();break;
                case 2:s1.pop();break;
                case 3:s1.display();break;
                case 4:System.exit(0);
                default:System.out.println("Invalid input");
            }
            System.out.println("Do you want to continue");
            ch=s.next();
        }
    }
}

No comments:

Post a Comment