Linked List
Thu Jul 18 2024 08:00:45 GMT+0000 (Coordinated Universal Time)
Saved by @Mohanish
import java.util.LinkedList; public class LL { private Node head; private Node tail; private int size; public LL(){ this.size=0; } public void insertFront(int value){ Node newNode = new Node(value); newNode.next = head; head = newNode; if(tail==null){ tail = head; } size+=1; } public void insert(int value,int index){ if(index==0){ insertFront(value); } if(index==size){ insertBack(value); } Node temp=head; for(int i=1;i<index;i++){ temp=temp.next; } Node newNode = new Node(value); newNode.next = temp.next; temp.next = newNode; } public void insertBack(int value){ if(tail==null){ insertFront(value); } Node newNode = new Node(value); tail.next=newNode; tail = newNode; size+=1; } public int deleteFirst(){ int val=head.value; head=head.next; if(head==null){ tail=null; } size-=1; return val; } public int deleteLast(){ if(size<=1){ return deleteFirst(); } Node secondlast=get(size-2); int val=tail.value; tail=secondlast; tail.next=null; return val; } public int deleteAtIndex(int index){ if(index==0){ return deleteFirst(); } if(index==size-1){ return deleteLast(); } Node prev=get(index-1); int val=prev.next.value; prev.next=prev.next.next; return val; } public Node get(int index){ Node node=head; for(int i=0;i<index;i++){ node=node.next; } return node; } public Node find(int value){ Node node=head; while(node!=null){ if(node.value==value){ return node; } node=node.next; } return null; } public void display(){ Node temp=head; while(temp!=null){ System.out.println(temp.value+"->"); temp=temp.next; } System.out.println("END"); } private class Node{ private int value; private Node next; public Node(int value){ this.value = value; } public Node(int value, Node next){ this.value = value; this.next = next; } } public static void main(String[] args) { LL list=new LL(); list.insertFront(3); list.insertFront(5); list.insertFront(7); list.insertFront(9); System.out.println(list.find(5)); // list.insertBack(10); // list.insert(11,2); // System.out.println(list.deleteFirst()); // System.out.println(list.deleteLast()); list.display(); // System.out.println(list.deleteAtIndex(2)); } }
Comments