#include #include #include #define MAX 3 int arr[MAX]; //3 front = -1; rear = -1; int isEmpty(){ if(front == -1 && rear == -1) return 1; else return 0 ; } int isFull(){ if(rear == MAX-1 )//-1==3-1,0==3-1,2==3-1 return 1 ; else return 0; } void enQueue(int x){ //2,4,6,10 if(isFull()){ printf("queue is full\n"); return; } if(isEmpty()) { front = rear = 0; } else { rear = (rear+1); } arr[rear] = x; //2,4,6 } void deQueue(){ if(isEmpty()){ printf("queue is empty\n"); return; } else if(front == rear) {front = rear = -1; }else{ front = (front+1); } } int Front() { if(front == -1) { printf("Error: cannot return front from empty queue\n"); return -1; } return arr[front]; } void Print(){ //int length = (rear - front) + 1; int i; printf("Queue list is: "); for(i=front;i<=rear;i++){ printf("%d ", arr[i]); } printf("\n"); int s = Front(); printf("front is : %d\n",s); printf("\n"); } int main(){ enQueue(2); Print(); enQueue(4); Print(); enQueue(6); Print(); enQueue(10); Print(); deQueue(); Print(); return 0; }