数据结构笔记-队列

2018-12-01  本文已影响0人  Veahow

队列 Queue

一、存储

typedef struct{
    ElementType data[MAX_SIZE];    // 队列的顺序存储
    int front, rear;    // 队头队尾指针
}Queue;
#define MAX_SIZE 100

typedef int ElementType;

typedef struct{
    ElementType data[MAX_SIZE];    // 队列的顺序存储
    int front, rear;    // 队头队尾指针
}Queue;

二、操作

1.入队

bool EnQueue(Queue &q, int x)
{
    // 队列满 入队失败
    if((q.rear + 1) % MAX_SIZE == q.front) return false;

    // 队列未满 入队成功 队尾插入
    q.data[rear] = x;
    q.rear = (q.rear + 1) % MAX_SIZE;
    return true;
}

2.出队

bool DeQueue(Queue &q, int &x)
{
    if(q.rear == q.front) return false;    // 队列空 出队失败

    // 队列未空 出队成功并返回元素到x 队头删除
    x = q.data[q.front];
    q.front = (q.front + 1) % MAX_SIZE;
    return true;
}
上一篇 下一篇

猜你喜欢

热点阅读