Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #define size 5
- int queue[5][2] = {0};
- int top = -1;
- int bottom;
- void push(int value, int pr)
- {
- int i, j, k;
- if (top < size - 1)
- {
- if (queue[top][1] > pr)
- {
- for (i = 0; i < top; i++)
- {
- if (queue[i][1] > pr)
- {
- break;
- }
- }
- for (j = top; j >= i; j--)
- {
- queue[j + 1][0] = queue[j][0];
- queue[j + 1][1] = queue[j][1];
- }
- top++;
- queue[i][0] = value;
- queue[i][1] = pr;
- } else
- {
- top++;
- queue[top][0] = value;
- queue[top][1] = pr;
- }
- } else
- {
- printf("queue overflow \n");
- }
- }
- void pop()
- {
- int i;
- if (queue[0][0] == 0)
- {
- printf("\n The queue is empty \n");
- } else
- {
- printf("After , dequeue the following value is erased \n %d \n", queue[0][0]);
- for (i = 0; i < top; i++)
- {
- queue[i][0] = queue[i + 1][0];
- queue[i][1] = queue[i + 1][1];
- }
- queue[top][0] = 0;
- queue[top][1] = 0;
- top--;
- }
- }
- void display()
- {
- int i, j;
- printf("Element\tPriority \n");
- for (i = size - 1; i >= 0; i--)
- {
- for (j = 0; j < 2; j++)
- {
- printf(" %d\t", queue[i][j]);
- }
- printf("\n");
- }
- }
- int main()
- {
- int i, j, ch = 0, value = 0, pr = 0;
- while (1)
- {
- printf("\n Please Enter the choice. \n");
- printf("1 for Enqueue \n 2 for Dequeue \n 3 for display\n 5 for exit: \t \n");
- scanf("%d", & ch);
- switch (ch)
- {
- case 1:
- printf("\n Please Enter the number to be inserted: \t ");
- scanf("%d", & value);
- printf("\n Please Enter the priority: \t ");
- scanf("%d", & pr);
- push(value, pr);
- break;
- case 2:
- pop();
- break;
- case 3:
- display();
- break;
- case 5:
- return 0;
- default:
- printf("You entered wrong choice\n");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement