Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdio>
- #include <cstdlib>
- #define MAX 5
- int Q[MAX];
- int front = -1;
- int rear = -1;
- int Rfront = MAX;
- int Rrear = MAX;
- int count = 0;
- int isEmpty() {
- if (count == 0)
- return 1;
- else
- return 0;
- }
- int isFull() {
- if (count == MAX)
- return 1;
- else
- return 0;
- }
- void display() {
- int i, j;
- if (count) {
- for (i = 0; i <= rear; i++)
- printf("%d ", Q[i]);
- printf("\n");
- for (i = MAX - 1; i >= Rrear; i--)
- printf("%d ", Q[i]);
- printf("\n\n");
- }
- else printf("Queue is Empty\n\n");
- }
- void enqueue(int x) {
- int choice;
- printf("1. Front-End\n");
- printf("2. Back-End\n");
- printf("Choice: ");
- scanf("%d", &choice);
- if (isFull())
- printf("Cannot Enqueue.\nOverflow\n\n");
- else {
- if (choice == 1) {
- Q[++rear] = x;
- if (front == -1) front++;
- }
- else if (choice == 2) {
- Q[--Rrear] = x;
- if (Rfront == MAX) Rfront--;
- }
- count++;
- }
- display();
- }
- void dequeue() {
- int choice;
- printf("1. Front-End\n");
- printf("2. Back-End\n");
- printf("Choice: ");
- scanf("%d", &choice);
- if (choice == 1) {
- if (rear >= 0) {
- rear--;
- count--;
- }
- else {
- printf("Cannot Dequeue\n");
- printf("Queue is Empty/Underflow\n\n");
- }
- }
- else if (choice == 2) {
- if (Rrear < MAX) {
- Rrear++;
- count--;
- }
- else {
- printf("Cannot Dequeue\n");
- printf("Queue is Empty/Underflow\n\n");
- }
- }
- if (isEmpty()) {
- front = -1;
- Rfront = MAX;
- }
- display();
- }
- int main() {
- int choice, value;
- while (1) {
- printf("1 En-queue\n");
- printf("2 De-queue\n");
- printf("3 Is-Empty\n");
- printf("4 Is-Full\n");
- printf("5 Exit\n");
- printf("Choice: ");
- scanf("%d", &choice);
- switch (choice) {
- case 1: {
- printf("Enter Value to En-queue: ");
- scanf("%d", &value);
- enqueue(value);
- break;
- }
- case 2: {
- dequeue();
- break;
- }
- case 3: {
- if (isEmpty())
- printf("True\n\n");
- else
- printf("False\n\n");
- break;
- }
- case 4: {
- if (isFull())
- printf("True\n\n");
- else
- printf("False\n\n");
- break;
- }
- case 5: {
- exit(0);
- break;
- }
- default: {
- printf("Invalid Choice\nTry Again\n\n");
- }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement