UNKNOWN //************************************** // Name: Queue (Enqueue and Dequeue) // Description:For choose Enqueue and Dequeue for queue // By: Neo Palie // // // Inputs:None // // Returns:None // //Assumes:None // //Side Effects:None //This code is copyrighted and has limited warranties. //Please see http://www.Planet-Source-Code.com/xq/ASP/txtCodeId.13785/lngWId.3/qx/vb/scripts/ShowCode.htm //for details. //************************************** #include <stdio.h> typedef struct QUEUE { int head,tail; int list[4]; int top; }queue; void create (queue *q); int empty (queue *q); int full (queue *q); void enqueue (queue *q); void dequeue (queue *q); void main() { int i; int select; queue q; create(&q); while(1) { printf("\n1->Enqueue \t 2->Dequeue \t 3->Exit: "); scanf("%d",&select); switch(select) { case 1: enqueue(&q); break; case 2: dequeue(&q); break; default: goto out; } for(i=q.head;i<q.tail;i++) { printf("%d\n",q.list[i]); } } out: } void create(queue *q) { q->head = 0; q->tail = 0; } int empty(queue *q) { if(q->tail == 0) return (1); else return(0); } int full(queue *q) { if (q->tail == 4) return (1); else return (0); } void enqueue(queue *q) { int i,data; if (full(q) == 1) printf("\Queue is Full"); else { printf("\Enqueue Integer : "); scanf("%d",&data); q->list[q->tail] = data; q->tail++; } } void dequeue(queue *q) { int i; if(empty(q) == 1) printf("\n Queue is Empty"); else { q->head++; } }