sujonshekh

milon_sir_10-4-17_Queue_full_program

Apr 10th, 2017
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.00 KB | None | 0 0
  1. //D.B.John PC
  2. #include<stdio.h>
  3. #include<stdlib.h>
  4. struct node
  5. {
  6.     int data;
  7.     struct node *next;
  8. };
  9. struct node *top=NULL,*temp;
  10.  
  11. void Insertion(struct node *f,struct node *r, int vv);
  12. void Display(struct node *f);
  13. void Deletion(struct node *f,struct node *r);
  14. void count(struct node *f);
  15.  
  16.  
  17.  
  18. //    int count(struct node *head);
  19. //    void Insertion_last_position(struct node *head, int value);
  20. //    void Insertion_specific_position(struct node *head, int vv, int pp);
  21. //    void Deletion_specific_position(struct node *head, int pp);
  22.     int main()
  23. {
  24.     int c,v;
  25.     struct node *front,*rear;
  26.     front=(struct node *)malloc(sizeof(struct node));
  27.     rear=(struct node *)malloc(sizeof(struct node));
  28.  
  29.     front->data=0;
  30.     front->next=NULL;
  31.     rear->data=0;
  32.     rear->next=NULL;
  33.  
  34.  
  35.     while(1)
  36.     {
  37.         printf("\n ....Menu....\n");
  38.  
  39.         printf("\n press 0 Quit\n");
  40.         printf("\n press 1 for Insertion \n");
  41.         printf("\n press 2 Deletion \n");
  42.         printf("\n press 3 Display\n");
  43.         printf("\n press 4 Count\n");
  44.  
  45.  
  46.  
  47.         printf("\n Enter your choise \n");
  48.         scanf("%d",&c);
  49.         switch(c)
  50.         {
  51.             case 0:exit (0);
  52.             break;
  53.             case 1:printf("\n choise=Insertion \n ");
  54.             printf("\n Enter NEW value\n");
  55.             scanf("%d",&v);
  56.             Insertion(front,rear,v);
  57.             break;
  58.  
  59.             case 3: printf("\n Choise=Display \n");
  60.  
  61.             if(front->next !=NULL)
  62.             Display(front);
  63.             else
  64.             printf("\n NO data to display \n Queue \n is Empty \n");
  65.             break;
  66.  
  67.             case 2: printf("\n choise=deletion\n");
  68.            if(front->next!=NULL)
  69.            Deletion(front,rear);
  70.            else
  71.            printf("\n NO data to delete the queu is empty\n");
  72.                        break;
  73.  
  74.            case 4: printf("\n choise=count\n");
  75.             count(front);
  76.             break;
  77.  
  78.  
  79.             default:printf("\n Wrong Choise\n");
  80.             break;
  81.         }
  82.  
  83.     }
  84.  
  85. }
  86.  
  87. //user define
  88.  
  89. void Insertion(struct node *f,struct node *r, int vv)
  90. {
  91.     struct node *temp;
  92.     temp=(struct node *)malloc (sizeof(struct node));
  93.     temp->data=vv;
  94.     temp->next=NULL;
  95.     if(f->next==NULL)
  96.     {
  97.         f->next=temp;
  98.         r->next=temp;
  99.     }
  100.     else
  101.     {
  102.         r->next->next=temp;
  103.         r->next=temp;
  104.     }
  105. }
  106.  
  107. void Display(struct node *f)
  108. {
  109.     while(f->next!=NULL)
  110.     {
  111.         printf("\n \t %d",f->next->data);
  112.         f=f->next;
  113.     }
  114. }
  115.  
  116. void Deletion(struct node *f,struct node *r)
  117. {
  118.     struct node *temp;
  119.     temp=f->next;
  120.     if(f->next==r->next)
  121.     {
  122.         f->next=NULL;
  123.         r->next=NULL;
  124.     }
  125.     else
  126.     {
  127.         f->next=temp->next;
  128.     }
  129.     printf("\n The deleted node is =%d\n\n",temp->data);
  130.     free(temp);
  131. }
  132. void count(struct node *f)
  133. {
  134.     int t=0;
  135.     while(f->next!=NULL)
  136.     {
  137.         t=t+1;
  138.         f=f->next;
  139.     }
  140.     printf("\n Total node =%d \n\n",t);
  141. }
Add Comment
Please, Sign In to add comment