LinkedList

Run Settings
LanguageJava
Language Version
Run Command
class LinkedList{ int length; Node head; Node tail; class Node { int value; Node next; Node(int value) { this.value = value; } } public LinkedList(int value) { Node NewNode = new Node(value); head = NewNode; tail = NewNode; length = 1; } public void printList() { Node temp = head; while(temp!= null) { System.out.println(temp.value); temp=temp.next; } } public void append(int value) { Node NewNode = new Node(value); if(length == 0) { head = NewNode; tail = NewNode; } else { tail.next = NewNode; tail = NewNode; } length++; } public Node RemoveLast() { if(length == 0) { return null; } else { Node temp=head; Node pre=head; while(temp.next!= null) { pre = temp; temp = temp.next; } tail = pre; tail.next = null; length--; if(length==0) { head = null; tail = null; } return temp; } } public void prepend(int value) { Node NewNode = new Node(value); if(length == 0) { head = NewNode; tail = NewNode; } else { NewNode.next = head; head = NewNode; } length++; } public Node RemoveFirst() { if(length == 0) { return null; } else { Node temp=head; head = head.next; temp.next = null; length--; if(length == 0) { head = null; tail = null; } return temp; } } public Node get(int index) { if(index < 0 || index >= length) { return null; } else { Node temp = head; for(int i=0;i<index;i++) { temp = temp.next; } return temp; } } public boolean set(int index, int value) { Node temp = get(index); if(temp!=null) { temp.value = value; return true; } else { return false; } } public boolean insert(int index,int value) { if(index == 0) { prepend(value); return true; } else if(index == length) { append(value); return true; } else { Node NewNode = new Node(value); Node temp = get(index-1); NewNode.next = temp.next; temp.next = NewNode; length++; return true; } } public Node Remove(int index) { if(index>=length || index<0) { return null; } else if(index == 0) { return RemoveFirst(); } else if(index == length-1) { return RemoveLast(); } else { Node prev = get(index-1); Node temp=prev.next; prev.next = temp.next; temp.next = null; length--; return temp; } } } class Main { public static void main(String[] args) { LinkedList myLinkedList = new LinkedList(1); myLinkedList.append(2); myLinkedList.append(3); myLinkedList.append(4); myLinkedList.prepend(6); myLinkedList.printList(); System.out.println("List after inserting"); myLinkedList.insert(2,9); myLinkedList.printList(); System.out.println("List after removing"); System.out.println(myLinkedList.Remove(3).value); myLinkedList.printList(); // System.out.println("Index :"+myLinkedList.get(2).value); // System.out.println("RemoveFirst: "+myLinkedList.RemoveFirst().value); // System.out.println("RemoveLast: "+myLinkedList.RemoveLast().value); // myLinkedList.printList(); // System.out.println("Linked List After Set operation"); // myLinkedList.set(1,7); // myLinkedList.printList(); } }
Editor Settings
Theme
Key bindings
Full width
Lines