1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 | public class DeleteNodeFromLinkedList { DeleteNodeFromLinkedList next; private int data; public DeleteNodeFromLinkedList() { } // Constructor DeleteNodeFromLinkedList(int data) { this.data = data; } public void setData(int data) { this.data = data; } public int getData() { return this.data; } public DeleteNodeFromLinkedList getNext() { return this.next; } public void setNext(DeleteNodeFromLinkedList next) { this.next = next; } // 2: Length and traverse public int getLength(DeleteNodeFromLinkedList head) { int length = 0; DeleteNodeFromLinkedList current = head; while (current != null) { current = current.getNext(); length++; } return length; } // 3: Inserting elements DeleteNodeFromLinkedList head; DeleteNodeFromLinkedList number; public DeleteNodeFromLinkedList insert(DeleteNodeFromLinkedList head, DeleteNodeFromLinkedList number, int position) { if (head == null) { return number; } int size1 = getLength(head); if (position < 1 || position > size1 + 1) { System.out.println("Error"); return head; } if (position == 1) { number.setNext(head); return number; } else { DeleteNodeFromLinkedList current; DeleteNodeFromLinkedList previous = head; int count = 1; while (count < position - 1) { previous = previous.getNext(); count++; } current = previous.getNext(); previous.setNext(number); number.setNext(current); } return head; } // 4: DELETING a nODE public DeleteNodeFromLinkedList delete(DeleteNodeFromLinkedList head, int position) { if (head == null) { return null; } int size = getLength(head); if (position < 1 || position > size + 1) { System.out.println("Error"); return head; } if (position == 1) { head = null; return null; } else { DeleteNodeFromLinkedList current; DeleteNodeFromLinkedList previous = head; int count = 1; while (count < position - 1) { previous = previous.getNext(); count++; } current = previous.getNext(); previous.setNext(current.getNext()); current = null; } return head; } public void printList(DeleteNodeFromLinkedList linkedList1) { linkedList1 = head; while (linkedList1 != null) { System.out.print(linkedList1.data + " "); linkedList1 = linkedList1.next; } } public static void main(String[] args) { // TODO Auto-generated method stub DeleteNodeFromLinkedList linkedList1 = new DeleteNodeFromLinkedList(111); DeleteNodeFromLinkedList linkedList2 = new DeleteNodeFromLinkedList(222); linkedList1.setNext(linkedList2); DeleteNodeFromLinkedList linkedList3 = new DeleteNodeFromLinkedList(333); linkedList2.setNext(linkedList3); DeleteNodeFromLinkedList linkedList4 = new DeleteNodeFromLinkedList(444); linkedList3.setNext(linkedList4); DeleteNodeFromLinkedList test = new DeleteNodeFromLinkedList(); int length = test.getLength(linkedList1); System.out.println("Length of give List is: " + length); // Element 555 is inserting**************** DeleteNodeFromLinkedList linkedList5 = new DeleteNodeFromLinkedList(555); test.insert(linkedList1, linkedList5, 2); System.out.println("=========After INSERTING a node:============= "); length = test.getLength(linkedList1); System.out.println("Length after inserting a node: " + length); for (int i = 0; i < length; i++) { test.getNext(); } DeleteNodeFromLinkedList test1 = new DeleteNodeFromLinkedList(); System.out.println("=========After Deleting a node:============= "); test1.delete(linkedList1, 2); length = test1.getLength(linkedList1); System.out.println("Length after Deleting = " + length); System.out.println(); System.out.print("==========Printing linked list=========="); DeleteNodeFromLinkedList test2 = new DeleteNodeFromLinkedList(); System.out.println("\nPrinting Linked list: "); test2.printList(linkedList1); } } |
Length of give List is: 4
=========After INSERTING a node:=============
Length after inserting a node: 5
=========After Deleting a node:=============
Length after Deleting = 4
==========Printing linked list==========
Printing Linked list:
No comments:
Post a Comment