fork download
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. long long l=0;
  4. struct node{
  5. struct node* prev;
  6. long long data;
  7. struct node* next;
  8. };
  9. struct node* head;
  10. void insert(long long x,long long p)
  11. {
  12. long long i;
  13. struct node* temp1=(node*)malloc(sizeof(node));
  14. temp1->data=x;
  15. l++;
  16. if(p==1)
  17. {
  18. temp1->next=head;
  19. head=temp1;
  20. head->prev=NULL;
  21. }
  22. else
  23. {
  24. struct node* temp2=head;
  25. for(i=0;i<p-2;i++)
  26. temp2=temp2->next;
  27. temp1->prev=temp2;
  28. temp1->next=temp2->next;
  29. if(l!=p)
  30. temp1->next->prev=temp1;
  31. temp2->next=temp1;
  32. }
  33. }
  34. void print()
  35. {
  36. struct node* temp=head;
  37. while(temp!=NULL)
  38. {
  39. printf("%lld ",temp->data);
  40. temp=temp->next;
  41. }
  42. }
  43. int main()
  44. {
  45. long long n,i,p,x;
  46. head=NULL;
  47. scanf("%lld",&n);
  48. for(i=0;i<n;i++)
  49. {
  50. scanf("%lld%lld",&x,&p);
  51. insert(x,p);
  52. print();
  53. }
  54. }
  55.  
Runtime error #stdin #stdout 0s 3456KB
stdin
Standard input is empty
stdout
Standard output is empty