Код перестал работать ? двойной связанный список
я получаю ошибку "перестал работать", когда пытаюсь реализовать функцию insertafter..
помогите мне решить эту ошибку !!
Что я уже пробовал:
void DLL::insert(int value) { if (head == NULL) { head = new Node; head->next = NULL; head->prev = NULL; head->data = value; last = head; } else { Node *temp = new Node; temp->data = value; temp->next = NULL; temp->prev = last; last->next = temp; last = temp; } }
// Функция отображения и функция insertafter
void DLL::insertAfter(int v1, int v2) { Node *present = new Node; while (present != NULL) { if (present->data == v1) { Node *temp = new Node; temp->data = v2; temp->next = present->next; temp->prev = present; present->next = temp; present = temp; break; } else { present = present->next; } } } void DLL::display() { Node *temp = head; while (temp != NULL) { cout << temp->data << endl; temp = temp->next; } }
//основная функция
void main() { int v1, v2; DLL myList; myList.insert(1); myList.insert(2); myList.insert(4); myList.insert(5); myList.insert(6); myList.display(); cout << "\n"; cout << "PLEase enter the no Before that you want to enter a number." << endl; cin >> v2; cout << "Now enter new no." << endl; cin >> v1; myList.insertAfter(v1, v2); myList.display(); }