Tag: return
Sequential queue Operations #define queuemax 15typedef struct {data data[queuemax]; // Queue array int head; //team head int tail; // team tail } Seqqueue; Seqqueue *seqqueueinit () {seqqueue *q;if (q= (seqqueue *) malloc (sizeof) (seqqueue)) // Apply Save queue Memory {q->head = 0; // Set team header q->tail = 0; // set tail return q;} elsereturn null; // return to Empty }void SeqQueueFree (SEQQUEUE *Q) / / Release Queue {if (q!=null) free (q);} Int seqqueueisempty (SEQQUEUE *Q) // whether the queue is empty {return (q->head==q- >tail);} Int seqqueueisfull (seqqueue *q) //queue is full {return (Q->tail==queuemax);} Int seqqueuelen (seqqueue *q) // get Queue Length {return (q->tail-q->head);} Int seqqueuein (seqqueue *q,data&Nbsp;data) //queued function {if (Q->tail==queuemax) {printf ("queue is full! \ n "); return (0);} Else{q->data[q->tail++]=data;return (1);}} Data *seqqueueout (SEQQUEUE *Q) //Order Team List Team {if (Q->head == q->tail) { printf ("\ n queue is empty! \n"); return null;} else{return & (q->data[q->head++]);}} Data *seqqueuepeek (SEQQUEUE *Q) //gets the head element {if (Seqqueueisempty (q)) {printf ("\ n queue is empty!\n"); Return null;} else{return & (Q->data[q->head]);}}
Queue Learning Note Order Queue