Advertisement
korobushk

delete node sLL

Apr 26th, 2021
514
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.24 KB | None | 0 0
  1.  public void deletionOfNode(int location) {
  2.         if (head == null) {
  3.             System.out.println("the SLL does not exist");
  4.             return;
  5.         } else if (location == 0) {
  6.             head = head.next;
  7.             size--;
  8.             if (size == 0) {
  9.                 tail = null;
  10.             }
  11.         } else if (location >= size) {
  12.             Node tempNode = head;
  13.             //node located before last one
  14.             for (int i = 0; i < size - 1; i++) {
  15.                 tempNode = tempNode.next;
  16.             }
  17.             if (tempNode == head) {
  18.                 //we have only 1 element
  19.  
  20.                 tail = head = null;
  21.                 size--;
  22.                 return;
  23.                 //we have 1 element
  24.             }
  25.             //we have more than 1 element
  26.             tempNode.next = null;
  27.             tail = tempNode;
  28.             size--;
  29.             //more than 1 element
  30.         } else {
  31.             Node tempNode = head;
  32.             for (int i = 0; i < location - 1; i++) {
  33.                 tempNode = tempNode.next;
  34.             }
  35.             //setting node next reference to the node that is located next next to the node
  36.             tempNode.next = tempNode.next.next;
  37.             size--;
  38.         }
  39.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement