void deleteNode (node* &head, node* &tail, int position) { // delete first node if (position == 1) { node* temp = head; temp -> next -> prev = NULL; head = temp -> next; temp -> next = NULL; delete temp; return; } node* curr = head; node* back = NULL; int cnt = 1; while (cnt < position) { back = curr; curr = curr -> next; cnt++; } //delete last node if (curr -> next == NULL) { tail = back; back -> next = NULL; curr -> prev = NULL; delete curr; return; } // delete in between node back -> next = curr -> next; curr -> next -> prev = back; curr -> next = NULL; curr -> prev = NULL; delete curr; }
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter