SHARE
TWEET

Untitled

a guest May 21st, 2019 68 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. class main {
  2.  
  3.     public static void main(String[] args) {
  4.         LinkedList ll = new LinkedList();
  5.         ll.append(1);
  6.         ll.append(2);
  7.         ll.append(3);
  8.         ll.append(4);
  9.         ll.append(5);
  10.         ll.append(3);
  11.         ll.retrieve();
  12.        
  13.         ll.remove(1);
  14.         ll.retrieve();
  15.        
  16.         ll.removeDups();
  17.         ll.retrieve();
  18.     }
  19.    
  20. }
  21.  
  22. class LinkedList {
  23.     Node header;
  24.    
  25.     static class Node {
  26.         int data;
  27.         Node next = null;
  28.         Node before = null;
  29.     }
  30.    
  31.     LinkedList() {
  32.         header = new Node();
  33.     }
  34.    
  35.     void append(int data) {
  36.         Node end = new Node();
  37.         end.data = data;
  38.         Node n = header;
  39.                
  40.         while(n.next != null) {
  41.             n = n.next;
  42.         }
  43.         end.before = n;
  44.         n.next = end;
  45.     }
  46.    
  47.     void remove(int data) {
  48.         Node n = header;
  49.         while(n.next != null) {
  50.             if(n.next.data == data) {
  51.                 n.next = n.next.next;
  52.                 n.next.before = n;
  53.             } else {
  54.                 n = n.next;
  55.             }
  56.         }
  57.     }
  58.    
  59.     void retrieve() {
  60.         Node n = header.next;
  61.         System.out.print("next: ");
  62.        
  63.        
  64.         while(n.next != null) {
  65.             System.out.print(n.data + "->");
  66.             n=n.next;
  67.         }
  68.         System.out.println(n.data);
  69.         System.out.print("before: ");
  70.        
  71.        
  72.         while(n.before != null) {
  73.             System.out.print(n.data  + "->");
  74.             n=n.before;
  75.         }
  76.        
  77.         System.out.println();
  78.     }
  79.    
  80.     void removeDups() {
  81.         Node n = header;
  82.         while(n != null && n.next != null) {
  83.             Node r = n;
  84.             while(r.next != null) {
  85.                 if(n.data == r.next.data) {
  86.                     r.next = r.next.next;
  87.                 } else {
  88.                     r = r.next;
  89.                 }
  90.             }
  91.             n = n.next;
  92.         }
  93.     }
  94. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top