Friday, 4 November 2016

Program 10 - Linear Queue



#include <stdio.h>
#define MAX 10
int Q[MAX];
int f = -1, r = -1;
void enqueue(int num){
if(r == MAX -1){
printf("Queue Overflow\n");
} else {
r++;
Q[r] = num;
if(f == -1){
f = 0;
}
}
}
int dequeue(){
if(f == -1 || f > r){
return -1;
} else {
return Q[f++];
}
}
void create(){
int data;
printf("Enter data: ");
scanf("%d", &data);
while(data != -1){
enqueue(data);
printf("Enter data or enter -1 to stop: ");
scanf("%d", &data);
}
}
void display(){
int i;
if(f == -1 || f > r){
printf("Queue Empty\n");
} else {
for(i = f; i <= r; i++){
printf("%d ", Q[i]);
}
printf("\n");
}
}
int main(){
int choice, num, rpt = 1;
printf("***Create Linear Queue***\n");
create();
while(rpt != 0){
printf("1. Enqueue\n2. Dequeue\n3. Display\n4. Exit\n");
printf("----------------\n");
printf("Enter a choice: ");
scanf("%d", &choice);
switch(choice){
case 1:
printf("Enter a num: ");
scanf("%d", &num);
enqueue(num);
break;
case 2:
num = dequeue();
if(num != -1){
printf("%d successfully deleted\n", num);
} else {
printf("Queue Underflow\n");
}
break;
case 3:
display();
break;
case 4:
exit(0);
}
printf("Do you want to continue? (1/0): ");
scanf("%d", &rpt);
system("cls");
}
}






































































































































































No comments:

Post a Comment