Quick actions

cmd+k|ctrl+k

Navigation

Languages

LinkedList

Snippet info

Language

Java

Visibility

public

Author

ingserge

Created

2026-05-03T05:21:37.477855Z

Updated

2026-05-08T02:54:31.596809Z

class Node{
    
    private String value;
    private Node next;
    
    public Node(String value){
        this.value= value;
    }
    
    public void setNext(Node next){
        this.next= next;
    }
    
    public Node getNext(){
        return this.next;
    }
    
    public void setValue(String value){
        this.value= value;
    }
    
    public String getValue(){
        return this.value;
    }
    
}

class MyStack{
    private Node bottom;
    private Node top;
    private int length;
    
    public MyStack(String value){
        top = new Node(value);
        bottom= top;
        this.length++;
    }
    
    public String peek(){
        if (this.length ==0){
            System.out.println("The stack is empty, cannot pop");
            return;
        }
        
        return this.top.getValue();    
    }   
    
    public String pop(){
        if (this.length ==0){
            System.out.println("The stack is empty, cannot pop");
            return;
        }
        Node removedTop =top;
        
        top= removedTop.getNext();
        this.length--;
        if (removedTop == bottom){
            bottom=null;
        }
        
        return removedTop.getValue();
    }
    
    public void push(String value){
        Node newTop = new Node(value);
        
        newTop.setNext(top);
        top=newTop;
        this.length++;
    }
    
    public boolean isEmpty(){
        return this.length==0;
    }
    
    
    /*public static void main(String args[]){
        MyStack stack = new MyStack("uno");
        
        stack.push("dos");
        stack.push("tres");
        stack.push("cuatro");
        stack.push("cinco");
        
        System.out.println(stack.peek());
        System.out.println(stack.pop());
        System.out.println(stack.pop());
        
        while(!stack.isEmpty()){
            System.out.println(stack.pop());
        }
    }*/
}

class Main {
    private Node head;
    private Node tail;
    private int length=0;
    
    public Main(String value){
        this.head = new Node(value);
        this.tail = head;
        length++;
    }
    
    public void prepend(String value){
        Node newHead = new Node(value);
        
        newHead.setNext(head);
        head= newHead;
        length++;
    }
    
    public void append(String value){
        Node newTail= new Node(value);
        
        tail.setNext(newTail);
        tail=newTail;
        length++;
    }
    
    public void insert(int index, String value){
        Node currentNode = head;
        Node previousNode=head;
        int currentIndex=0;
        
        if (index ==0){
            prepend(value);
            return;
        }
        
        while (currentIndex < index && currentNode != null){
            previousNode = currentNode;
            currentNode = currentNode.getNext();
            currentIndex++;
        }
        
        Node newNode = new Node(value);
        
        previousNode.setNext(newNode);
        newNode.setNext(currentNode);
    }
    
    public void delete(int index){
        Node currentNode = head;
        Node previousNode=head;
        int currentIndex=0;
        
        while (currentIndex < index && currentNode != null){
            previousNode = currentNode;
            currentNode = currentNode.getNext();
            currentIndex++;
        }
        
        if (index ==0){
            head= head.getNext();
        } else {
            previousNode.setNext(currentNode.getNext());
        }
        
    }
    
    
    public void printAll(){
        Node node = head;
        
        while (node != null){
            System.out.println(""+node.getValue());
            node = node.getNext();
        }
    }
    
    public static void main(String[] args) {
        /*Main linkedList = new Main("1");
        
        linkedList.append("2");
        linkedList.append("3");
        linkedList.append("4");
        linkedList.prepend("0");
        linkedList.prepend("-1");
        
        linkedList.insert(1, "-0.5");
        linkedList.insert(3, "0.5");
        linkedList.insert(7, "3.5");
        linkedList.insert(0, "-2");
        
        
        linkedList.printAll();
        linkedList.delete(9);
        linkedList.printAll();*/
        
         MyStack stack = new MyStack("uno");
        //System.out.println(stack.peek());
        
        stack.push("dos");
        //System.out.println(stack.peek());
        stack.push("tres");
        //System.out.println(stack.peek());
        stack.push("cuatro");
        //System.out.println(stack.peek());
        stack.push("cinco");
        //System.out.println(stack.peek());
        
        //System.out.println(stack.pop());
        //System.out.println(stack.pop());
        
       while(!stack.isEmpty()){
            System.out.println(stack.pop());
        }
       //  System.out.println(stack.pop());
    }
}
INFO