Advertisement
Guest User

Untitled

a guest
May 21st, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement