I can't figure out how to fix this. I'm trying to move the pointer all the way to the end of the list but it won't even run. It builds fine, no compiler errors, just doesn't run. It freezes execution.
Code:
void SinglyLinkedList::DeleteLast( ){
Node* newNode1 = new Node;
Node* newNode2 = new Node;
Node* deleteNode = new Node;
newNode1 = first;
if(Length() == 0)
cout << "List is empty." << endl;
else if(Length() == 1)
DeleteFirst();
else
while(newNode1->next != NULL || newNode2->next != NULL){
newNode2->next = newNode1->next;
newNode1->next = newNode2->next;
}
if (newNode1 == NULL){
deleteNode = newNode1;
newNode2->next = NULL;
delete deleteNode;
}
else
deleteNode = newNode2;
newNode1->next = NULL;
delete deleteNode;