DATA Structure Algorithm Assignment
DATA Structure Algorithm Assignment
Node* prev;
Node* next;
};
newNode->next = (*head);
if (*head != NULL)
(*head)->prev = newNode;
*head = newNode;
}
Return;
If (*head == delNode)
*head = delNode->next;
If (delNode->next != NULL)
delNode->next->prev = delNode->prev;
if (delNode->prev != NULL)
delNode->prev->next = delNode->next;
delete delNode;
}
Current = current->prev;
}
If (temp != NULL)
*head = temp->prev;
}
Return;
temp = temp->next;
}
If (nodeX->prev != NULL)
nodeX->prev->next = nodeY;
else
*head = nodeY;
If (nodeY->prev != NULL)
nodeY->prev->next = nodeX;
else
*head = nodeX;
If (nodeX->next != NULL)
nodeX->next->prev = nodeY;
if (nodeY->next != NULL)
nodeY->next->prev = nodeX;
nodeX->next = nodeY->next;
nodeY->next = tempLink;
tempLink = nodeX->prev;
nodeX->prev = nodeY->prev;
nodeY->prev = tempLink;
}
}
Cout << endl;
}
// Driver code
Int main() {
// Inserting nodes
insertAtBeginning(&head, 4);
insertAtBeginning(&head, 3);
insertAtBeginning(&head, 2);
insertAtBeginning(&head, 1);
// Deleting a node
deleteNode(&head, head->next->next);
// Swapping nodes
swapNodes(&head, 3, 6);
cout << “List after swapping: “;
displayList(head);
return 0;
}