因为最近几天在看线程池,所以顺便复习了一下环形队列,贴出来代码,供大家参考。因为没有特殊需求,所以只写了最简单的几个功能。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define elem int
typedef struct queue {
elem *data;
int front;
int rear;
int max_size;
}queue, *pqueue;
void init_queue(pqueue q, int max_size)
{
q->front = q->rear = 0;
q->data = (elem *)malloc(m