Advertisement
Guest User

test 3

a guest
Apr 5th, 2020
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.04 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3.  
  4. struct Node {
  5.     int Data;
  6.     struct Node *next;
  7. } *rear, *front;
  8.  
  9. void delQueue()
  10. {
  11.     struct Node *temp, *var = rear;
  12.     if (var == rear)
  13.     {
  14.         rear = rear->next;
  15.         free(var);
  16.     }
  17.     else
  18.         printf("\nQueue Empty");
  19. }
  20.  
  21. void push(int value)
  22. {
  23.     struct Node *temp;
  24.     temp = (struct Node *) malloc(sizeof(struct Node));
  25.     temp->Data = value;
  26.     if (front == NULL)
  27.     {
  28.         front = temp;
  29.         front->next = NULL;
  30.         rear = front;
  31.     }
  32.     else
  33.     {
  34.         front->next = temp;
  35.         front = temp;
  36.         front->next = rear;
  37.     }
  38. }
  39.  
  40. void display()
  41. {
  42.     struct Node *var = rear;
  43.     if (var != NULL)
  44.     {
  45.         printf("\nElements are as:  ");
  46.         while (var != front)
  47.         {
  48.             printf("\t%d", var->Data);
  49.             var = var->next;
  50.         }
  51.         if (var == front)
  52.         {
  53.             printf("\t%d", var->Data);
  54.         }
  55.         printf("\n");
  56.     }
  57.     else
  58.         printf("\nQueue is Empty");
  59. }
  60.  
  61. int main()
  62. {
  63.     int i = 0;
  64.     front = NULL;
  65.     printf("\n1. Push to Queue");
  66.     printf("\n2. Pop from Queue");
  67.     printf("\n3. Display Data of Queue");
  68.     printf("\n4. Exit\n");
  69.     while (1)
  70.     {
  71.         printf(" \nChoose Option: ");
  72.         scanf("%d", &i);
  73.         switch (i)
  74.         {
  75.             case 1:
  76.             {
  77.                 int value;
  78.                 printf("\nEnter a value to push into Queue: ");
  79.                 scanf("%d", &value);
  80.                 push(value);
  81.                 display();
  82.                 break;
  83.             }
  84.             case 2:
  85.             {
  86.                 delQueue();
  87.                 display();
  88.                 break;
  89.             }
  90.             case 3:
  91.             {
  92.                 display();
  93.                 break;
  94.             }
  95.             case 4:
  96.             {
  97.                 exit(0);
  98.             }
  99.             default:
  100.             {
  101.                 printf("\nWrong choice for operation");
  102.             }
  103.         }
  104.     }
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement