By: Khaled
By: Khaled
By : Khaled
Source Code :
class DLL {
DNode head;
DNode tail;
int data;
DNode prev;
DNode next;
DNode(int d) {
data = d;
prev = null;
next = null;
if (head == null) {
head = newNode;
tail = newNode;
} else {
newNode.next = head;
head.prev = newNode;
head = newNode;
if (tail == null) {
head = newNode;
tail = newNode;
} else {
newNode.prev = tail;
tail.next = newNode;
tail = newNode;
if (currentNode.data == j) {
newNode.next = currentNode.next;
newNode.prev = currentNode;
currentNode.next = newNode;
if (newNode.next != null) {
newNode.next.prev = newNode;
if (currentNode == tail) {
tail = newNode;
break;
currentNode = currentNode.next;
if (head == null) {
return;
head = head.next;
if (head != null) {
head.prev = null;
} else {
tail = null;
if (tail == null) {
return;
tail = tail.prev;
if (tail != null) {
tail.next = null;
} else {
head = null;
if (currentNode.data == n) {
if (currentNode == head) {
deleteFromHead();
deleteFromTail();
} else {
currentNode.prev.next = currentNode.next;
currentNode.next.prev = currentNode.prev;
break;
currentNode = currentNode.next;
currentNode = currentNode.next;
}
System.out.println();
if (currentNode.data == n) {
return true;
currentNode = currentNode.next;
return false;
dll.addToHead(3);
dll.addToTail(5);
dll.addToInside(4, 3);
dll.print(); // Output: 3 4 5
dll.deleteFromMid(4);
dll.print(); // Output: 3 5
if(dll.search(5)){
else
if(dll.search(2)){
else
Output :
Screenshot :