Quick actions

cmd+k|ctrl+k

Navigation

Languages

Queues

Snippet info

Language

Java

Visibility

public

Author

ingserge

Created

2024-09-28T01:20:24.074743Z

Updated

2024-09-28T03:00:50.61149Z

import java.util.Stack;

class Queue{
    private Stack<String> stack=null;
    private String firstElement=null;
    
    public Queue(){
        stack = new Stack<String>();
    }
    
    public boolean enqueue(String value){
        if (value == null || value.isEmpty()){
            System.out.println("The value to enqueue cannot be null or empty.");
            return false;
        }
        if (firstElement == null){
            firstElement= value;
        }
        stack.push(value);
        return true;
    }
    
    public String dequeue(){
        if (stack.isEmpty()){
            System.out.println("CAnnot dequeue, the queue is empty.");
        }
        Stack<String> temporalReversedStack= new Stack<String>();
        
        while (!stack.isEmpty()){
            temporalReversedStack.push(stack.pop());
        }
        String removedValue = temporalReversedStack.pop();
        firstElement = temporalReversedStack.peek();
        while (!temporalReversedStack.isEmpty()){
            stack.push(temporalReversedStack.pop());
        }
        return removedValue;
    }
    
    public String peek(){
        if (stack.isEmpty()){
            System.out.println("The queue is empty.");
            return null;
        }
        return firstElement;
    }
    
}

class Main {
    public static void main(String[] args) {
        Queue queue = new Queue();
        
        queue.enqueue("1");
        queue.enqueue("2");
        queue.enqueue("3");
        queue.dequeue();
        System.out.println("Peek:"+ queue.peek());
    }
}
INFO