[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/tejaspundpal/Java-programs/main/stackqueue_try.java [Back]  [Original]

import java.util.*;
interface StackInterface
{
    boolean isEmptyStack();
    boolean isFullStack();
    void push(int data);
    int pop();
    int peek();
    void display_stack();
    int m = 20;
    int[] stack = new int[m];

}
interface QueueInterface
{
    boolean isEmptyQueue();
    boolean isFullQueue();
    void enqueue(int data);
    int dequeue();
    void display_queue();
    int n = 20;
    int[] queue = new int[n];
}
class StackQueue implements StackInterface,QueueInterface
{
    int top;
    int front;
    int rear;
    Scanner sc = new Scanner(System.in);

    public StackQueue() {
        this.top = -1;
        this.front = -1;
        this.rear = -1;
    }

    public boolean isEmptyStack()
    {
        if(top == -1)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    public boolean isFullStack()
    {
        if(top == m-1)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    public void push(int data)
    {
        if(isFullStack())
        {
            System.out.println("Stack Overflow....!!");
        }
        else
        {
            top++;
            stack[top] = data;
        }
    }
    public int pop()
    {
        int popped_element = 0;
        if(isEmptyStack())
        {
            System.out.println("Stack is Empty,You cannot perform pop...!!");
            return -1;
        }
        else
        {
            popped_element = stack[top];
            top--;
        }
        return popped_element;
    }

    @Override
    public int peek()
    {
        if(isEmptyStack())
        {
            System.out.println("Stack is Empty..!! (top = -1)");
            return -1;
        }
        else {
            return stack[top];
        }
    }

    public void display_stack()
    {
        if(isEmptyStack())
        {
            System.out.println("Stack is Empty..!!");
        }
        else {
            for (int i = top; i >= 0; i--) {
                System.out.println(stack[i]);
            }
        }
        System.out.println();
    }
    public boolean isEmptyQueue()
    {
        if((front == -1 && rear == -1) || front > rear)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    public boolean isFullQueue()
    {
        if(rear == n - 1)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    @Override
    public void enqueue(int data)
    {
        if (front == -1 && rear == -1) {
            front = 0;
            rear++;
            queue[rear] = data;
        } else if (rear != -1) {
            ++rear;
            queue[rear] = data;
        } else {
            System.out.println("Queue is full..!!");
        }
    }

    @Override
    public int dequeue()
    {
        if (isEmptyQueue())
        {
            System.out.println("Queue is Empty ,Nothing to Dequeue");
            return -1;
        }
        else if (front == rear)
        {
            int data = queue[front];
            front = -1;
            rear = -1;
            return data;
        }
        else
        {
            int data = queue[front];
            front++;
            return data;
        }
    }

    @Override
    public void display_queue() {
        if (isEmptyQueue())
        {
            System.out.println("Queue is Empty ,Nothing to Dequeue");
        }
        else{
            for(int i = front;i  {
                    System.out.println("Enter element to add in Stack : ");
                    int stack_data = sc.nextInt();
                    obj.push(stack_data);
                }
                case 2 -> {
                    int stack_element = obj.pop();
                    System.out.println("Popped element is : "+stack_element);
                    System.out.println();
                }
                case 3 -> {
                    int peek = obj.peek();
                    System.out.println("Peek of the stack is : "+peek);
                    System.out.println();
                }
                case 4 -> {
                    obj.display_stack();
                }
                case 5 -> {
                    System.out.println("Enter element to add in queue : ");
                    int queue_data = sc.nextInt();
                    obj.enqueue(queue_data);
                }
                case 6 -> {
                    int queue_element = obj.dequeue();
                    System.out.println("Dequeued element is : "+queue_element);
                    System.out.println();
                }
                case 7 -> {
                    obj.display_queue();
                }
                case 8 -> {
                    flag = false;
                }
                default -> System.out.println("Enter the valid choice...!!!!");
            }
        }
    }
}

Web Proxy Viewer  |  New URL  |  Original Page