队列
封装结构体(数组)
#define MAXSIZE 1000
typedef struct {
int elem[MAXSIZE];
int rear, front;
}SeQueue;
初始化
SeQueue *InitQueue() {
SeQueue *s = (SeQueue *)malloc(sizeof(SeQueue));
s->front = s->rear = -1;
return s;
}
入队
void InQueue(SeQueue *s, int x) {
s->rear++;
s->elem[s->rear] = x;
}
出队
void OutQueue(SeQueue *s) {
s->front++;
//在不考虑队空的情况的,出队操作队头指针加1
//表明队头元素出队
//sq->front++
//x = sq->elem[sq->front]
}
判队空
int EmptyQueue(SeQueue *s) {
//m = 0;队空
//置空队:sq->front = sq->rear = -1
int m = s->rear - s->front;
return m;
}