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