头文件 //队列结构体定义(数组) struct LineQueue { int QueueSize; int front, rear; char *q; }; void InitQueue(LineQueue *, int); void EnQueue(LineQueue *, char); char DeQueue(LineQueue *);
实现 //构造队列 void InitQueue(LineQueue *q, int Length) { q->QueueSize = Length; q->q = (char *)malloc(sizeof(char)*q->QueueSize); q->rear = 0; q->front = 0; } //插入数据 void EnQueue(LineQueue *q,char key){ q->q[q->rear] = key; ++(q->rear); } //取出元素 char DeQueue(LineQueue *q) { char tmp; tmp = q->q[q->front]; ++(q->front); return tmp; }