队列

typedef struct Que_T {
    int head;
    int rear;
    int size;
    Graph_S *que[10000];
} Que_S;
Que_S g_que;
void QueInit() {
    g_que.head = 0;
    g_que.rear = 0;
    g_que.size = 10000;
}
bool QueIsEmpty() {
    return (g_que.head ==  g_que.rear);
}
int QueCounter(){
    return (g_que.rear + g_que.size - g_que.head) % g_que.size;
}
void QuePush(Graph_S *val) {
    g_que.que[g_que.rear] = val;
    g_que.rear = (g_que.rear + 1) % g_que.size;
}
Graph_S *QuePop() {
    Graph_S *node = g_que.que[g_que.head];
    g_que.head = (g_que.head + 1) % g_que.size;
    return node;
}

  

posted @ 2020-11-30 19:31  cheshulin  阅读(38)  评论(0编辑  收藏  举报