Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #define TYPE int
- #define MAXSIZE 3
- typedef struct Queue{
- TYPE data[MAXSIZE];
- int head,tail,numberOfElements;
- }Queue;
- void initialize(Queue *q){
- q->head = q->tail = q->numberOfElements = 0;
- }
- int isFull(Queue *q){
- return q->numberOfElements==MAXSIZE;
- }
- void insert(Queue *q,TYPE val){
- if(!isFull(q)) {
- q->data[q->head] = val;
- q->head++; q->numberOfElements++;
- }
- }
- int isEmpty(Queue *q){
- return !q->numberOfElements;
- }
- TYPE take(Queue *q){
- if(!isEmpty(q)) {
- TYPE x = q->data[q->tail];
- q->tail++;
- q->numberOfElements--;
- return x;
- }
- }
- void display(Queue q){
- if(!isEmpty(&q)) {
- printf("QUEUE : ");
- while(!isEmpty(&q))
- printf("[%d]->", take(&q));
- printf("\b\b \n");
- }
- }
- int main(){
- system("CLS");
- Queue q; initialize(&q);
- insert(&q,1); display(q);
- insert(&q,2); display(q);
- insert(&q,3); display(q);
- take(&q); display(q);
- take(&q); display(q);
- insert(&q,3); display(q);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement