代码实现
#include<stdio.h>
#include<stdlib.h>
#include<stdbool.h>#define MaxSize 100
#define ElemType inttypedef struct{ElemType data[MaxSize];int front,rear;
}SeqQueue;
void InitQueue(SeqQueue *queue){queue->front = 0;queue->rear = 0;
}
bool QueueEmpty(SeqQueue queue){return queue.front == queue.rear;
}
bool EnQueue(SeqQueue *queue,ElemType e){if(queue->rear == MaxSize){return false;}queue->data[queue->rear] = e;queue->rear++;return true;
}
bool DeQueue(SeqQueue *queue,ElemType *e){if(QueueEmpty(*queue))return false;*e = queue->data[queue->front];queue->front++;return true;
}
bool GetHead(SeqQueue queue,ElemType *e){if(QueueEmpty(queue))return false;*e = queue.data[queue.front];return true;
}int main(){SeqQueue queue;ElemType Elem;InitQueue(&queue);EnQueue(&queue,1);EnQueue(&queue,2);EnQueue(&queue,3);EnQueue(&queue,4);GetHead(queue,&Elem);printf("队头元素为%d\n",Elem);DeQueue(&queue,&Elem);printf("出队的元素为:%d\n",Elem);DeQueue(&queue,&Elem);printf("出队的元素为:%d\n",Elem);DeQueue(&queue,&Elem);printf("出队的元素为:%d\n",Elem);DeQueue(&queue,&Elem);printf("出队的元素为:%d\n",Elem);return 0;
}