Advertisement
saimanova

Untitled

Feb 15th, 2020
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 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. int deQueue ()
  15. {
  16.  
  17. int x;
  18. data *temp=head;
  19.  
  20. if(head==NULL){
  21. printf("nothing\n");
  22. return -1;
  23. }
  24.  
  25. else if(temp->next==NULL){
  26. head=NULL;
  27. tail=NULL;
  28. free(temp);
  29. return x;
  30. }
  31. head=temp->next;
  32. x=temp->a;
  33. free(temp);
  34. head->pre=NULL;
  35. return x;
  36.  
  37. }
  38.  
  39. void enQueue (int x){
  40. data *newnode=(data*)malloc(sizeof(data));
  41. newnode->a=x;
  42. newnode->next=NULL;
  43. newnode->pre=NULL;
  44.  
  45. if(head==NULL){
  46. head=newnode;
  47. tail=newnode;
  48. return ;
  49. }
  50. newnode->pre=tail;
  51. tail->next=newnode;
  52. tail=newnode;
  53.  
  54. }
  55.  
  56.  
  57.  
  58. void print()
  59. {
  60. data *temp=head;
  61. while(temp!=NULL){
  62. printf(" %d\n",temp->a);
  63. temp=temp->next;
  64. }
  65. printf("\n");
  66. }
  67. int main ()
  68. {
  69. int p;
  70. enQueue(4);
  71. enQueue(2);
  72. enQueue(7);
  73. print();
  74. p=deQueue();
  75. printf("deQueue %d\n",p);
  76.  
  77. p=deQueue();
  78. printf("deQueue %d\n",p);
  79.  
  80. print();
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement