void insertAtHead(node *&head, node* & tail, int d) { node *temp = new node(d); if (head == NULL) { head = tail = temp; } else { head->prev = temp; temp->next = head; head = temp; } }
void insertAtHead(node *&head, node* & tail, int d) { node *temp = new node(d); if (head == NULL) { head = tail = temp; } else { head->prev = temp; temp->next = head; head = temp; } }