addAfter linked list java

Singly linked list: Items can navigate in forward direction only.

Linked list operations

    Insertion: Adds an element at the beginning of the list.
    Deletion: Deletes an element at the beginning of the list.
    Display: Displays the complete list.
    Search: Searches an element using the given key.
    Delete: Deletes an element using the given key.

Linked list examples

package com.w3spoint; class Node implements Comparable { private T value; private Node nextRef; public T getValue[] { return value; } public void setValue[T value] { this.value = value; } public Node getNextRef[] { return nextRef; } public void setNextRef[Node ref] { this.nextRef = ref; } @Override public int compareTo[T arg] { if[arg == this.value]{ return 0; } else { return 1; } } } public class Test { private Node head; private Node tail; public void add[T element]{ Node nd = new Node[]; nd.setValue[element]; System.out.println["Adding element: "+element]; if[head == null]{ head = nd; tail = nd; } else { tail.setNextRef[nd]; tail = nd; } } public void addAfter[T element, T after]{ Node tmp = head; Node refNode = null; System.out.println["Traversing nodes"]; while[true]{ if[tmp == null]{ break; } if[tmp.compareTo[after] == 0]{ refNode = tmp; break; } tmp = tmp.getNextRef[]; } if[refNode != null]{ Node nd = new Node[]; nd.setValue[element]; nd.setNextRef[tmp.getNextRef[]]; if[tmp == tail]{ tail = nd; } tmp.setNextRef[nd]; } else { System.out.println["Element not found."]; } } public void deleteFront[]{ if[head == null]{ System.out.println["Underflow state"]; } Node tmp = head; head = tmp.getNextRef[]; if[head == null]{ tail = null; } System.out.println["Deleted element: "+tmp.getValue[]]; } public void deleteAfter[T after]{ Node tmp = head; Node refNode = null; System.out.println["Traversing nodes."]; while[true]{ if[tmp == null]{ break; } if[tmp.compareTo[after] == 0]{ refNode = tmp; break; } tmp = tmp.getNextRef[]; } if[refNode != null]{ tmp = refNode.getNextRef[]; refNode.setNextRef[tmp.getNextRef[]]; if[refNode.getNextRef[] == null]{ tail = refNode; } System.out.println["Deleted element: "+tmp.getValue[]]; } else { System.out.println["Element not found."]; } } public void traverse[]{ Node tmp = head; while[true]{ if[tmp == null]{ break; } System.out.println[tmp.getValue[]]; tmp = tmp.getNextRef[]; } } public static void main[String args[]]{ try { Test linkedlist = new Test[]; linkedlist.add[13]; linkedlist.add[23]; linkedlist.add[4]; linkedlist.addAfter[6, 13]; linkedlist.deleteFront[]; linkedlist.deleteAfter[23]; System.out.println["Traversing all nodes."]; linkedlist.traverse[]; } catch [Exception e] { e.printStackTrace[]; } } }

package com.w3spoint; class Node implements Comparable { private T value; private Node nextRef; public T getValue[] { return value; } public void setValue[T value] { this.value = value; } public Node getNextRef[] { return nextRef; } public void setNextRef[Node ref] { this.nextRef = ref; } @Override public int compareTo[T arg] { if[arg == this.value]{ return 0; } else { return 1; } } } public class Test { private Node head; private Node tail; public void add[T element]{ Node nd = new Node[]; nd.setValue[element]; System.out.println["Adding element: "+element]; if[head == null]{ head = nd; tail = nd; } else { tail.setNextRef[nd]; tail = nd; } } public void addAfter[T element, T after]{ Node tmp = head; Node refNode = null; System.out.println["Traversing nodes"]; while[true]{ if[tmp == null]{ break; } if[tmp.compareTo[after] == 0]{ refNode = tmp; break; } tmp = tmp.getNextRef[]; } if[refNode != null]{ Node nd = new Node[]; nd.setValue[element]; nd.setNextRef[tmp.getNextRef[]]; if[tmp == tail]{ tail = nd; } tmp.setNextRef[nd]; } else { System.out.println["Element not found."]; } } public void deleteFront[]{ if[head == null]{ System.out.println["Underflow state"]; } Node tmp = head; head = tmp.getNextRef[]; if[head == null]{ tail = null; } System.out.println["Deleted element: "+tmp.getValue[]]; } public void deleteAfter[T after]{ Node tmp = head; Node refNode = null; System.out.println["Traversing nodes."]; while[true]{ if[tmp == null]{ break; } if[tmp.compareTo[after] == 0]{ refNode = tmp; break; } tmp = tmp.getNextRef[]; } if[refNode != null]{ tmp = refNode.getNextRef[]; refNode.setNextRef[tmp.getNextRef[]]; if[refNode.getNextRef[] == null]{ tail = refNode; } System.out.println["Deleted element: "+tmp.getValue[]]; } else { System.out.println["Element not found."]; } } public void traverse[]{ Node tmp = head; while[true]{ if[tmp == null]{ break; } System.out.println[tmp.getValue[]]; tmp = tmp.getNextRef[]; } } public static void main[String args[]]{ try { Test linkedlist = new Test[]; linkedlist.add[13]; linkedlist.add[23]; linkedlist.add[4]; linkedlist.addAfter[6, 13]; linkedlist.deleteFront[]; linkedlist.deleteAfter[23]; System.out.println["Traversing all nodes."]; linkedlist.traverse[]; } catch [Exception e] { e.printStackTrace[]; } } }

Linked list examples

Adding element: 13 Adding element: 23 Adding element: 4 Traversing nodes Deleted element: 13 Traversing nodes. Deleted element: 4 Traversing all nodes. 6 23

Adding element: 13 Adding element: 23 Adding element: 4 Traversing nodes Deleted element: 13 Traversing nodes. Deleted element: 4 Traversing all nodes. 6 23

Please Share

Video liên quan

Chủ Đề