fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. struct Node {
  5. int data;
  6. Node* prev;
  7. Node* next;
  8. };
  9.  
  10. int main() {
  11. Node* head = new Node{10, NULL, NULL};
  12. head->next = new Node{20, head, NULL};
  13. head->next->next = new Node{30, head->next, NULL};
  14. head->next->next->next = new Node{40, head->next->next, NULL};
  15.  
  16. int pos = 2, value = 25;
  17.  
  18. Node* temp = head;
  19. for(int i = 0; i < pos-1; i++)
  20. temp = temp->next;
  21.  
  22. Node* newNode = new Node{value, temp, temp->next};
  23. if(temp->next) temp->next->prev = newNode;
  24. temp->next = newNode;
  25.  
  26. for(Node* temp = head; temp; temp = temp->next)
  27. cout << temp->data << " ";
  28.  
  29. return 0;
  30. }
  31.  
Success #stdin #stdout 0.01s 5280KB
stdin
Standard input is empty
stdout
10 20 25 30 40