Advertisement
saimanova

Untitled

Feb 22nd, 2020
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. typedef struct data
  5. {
  6. int a;
  7. struct data *next;
  8. struct data *pre;
  9. } data;
  10.  
  11. data *head=NULL;
  12. data *tail=NULL;
  13.  
  14. void enQueue (int x)
  15. {
  16. data *newnode=(data*)malloc(sizeof(data));
  17.  
  18. newnode->a=x;
  19. newnode->next=NULL;
  20. newnode->pre=NULL;
  21.  
  22. if(head==NULL)
  23. {
  24. head=newnode;
  25. tail=newnode;
  26. return ;
  27. }
  28.  
  29. newnode->pre=tail->next;
  30. tail->next=newnode;
  31. tail=newnode;
  32. return;
  33. }
  34.  
  35. int deQueue()
  36. {
  37.  
  38. int x;
  39.  
  40. data *temp=head;
  41.  
  42. if(head==NULL)
  43. {
  44. printf("nothing\n");
  45. return -1;
  46. }
  47. else if(temp->next==NULL)
  48. {
  49. head=NULL;
  50. tail=NULL;
  51. free(temp);
  52. return x;
  53. }
  54. head=temp->next;
  55. x=temp->a;
  56. free(temp);
  57. head->pre=NULL;
  58. return x;
  59.  
  60. }
  61.  
  62.  
  63. void print()
  64. {
  65. data *temp=head;
  66. while(temp!=NULL)
  67. {
  68. printf("%d\n",temp->a);
  69. temp=temp->next;
  70. }
  71.  
  72. printf("\n");
  73. }
  74.  
  75. int main ()
  76. {
  77. int n,i,m,j,k;
  78. float p;
  79. scanf("%d",&n);
  80. for(i=1; i<=n; i++)
  81. {
  82. scanf("%d",&m);
  83. enQueue(m);
  84. }
  85. scanf("%d",&j);
  86. for(i=1; i<=j; i++)
  87. {
  88. // scanf("%d",&k);
  89. p=deQueue();
  90. }
  91. print();
  92. printf("average %lf\n",p/3);
  93.  
  94.  
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement