队列 front rear

  • (队列)只允许在一端进行插入操作,而在另一端进行删除操作的线性表

  • 与栈相反,队列是一种先进先出的线性表(First In First Out, FIFO)

  • 与栈相同的是 一种重要的线性 结构,实现一个队列同样需要顺序表或链表作为基础


    队列 front rear_第1张图片
链队列


typedef struct QNode{
ElemType data;
struct QNode *next;
} QNode, *queuePrt;


typedef struct {
QyeyePrt front,rear;
} LinkQueue;

  • 入队列操作

    InsertQueue(LinkQueue *q,ElemType e)
    {
    QueuePty p;
    p = (QueuePty)malloc(sizeof(QNode));
    if (p == NULL)
    exit(0)
    p->data = e;
    p->next = NULL;
    q->rear->next = p;
    q->rear = p;
    }
  • 出队列操作

    DeleteQueue(LinkQueue q,ElemTypee)
    {
    QueuePty p;
    if (q->front = q->rear) return;
    p = q->front->next;
    *e = p->data;
    q->front->next = p->next;
    if (q->rear == p)
    q->rear = q->front;
    free(p);
    }
  • 销毁队列

    DestroyQueue(LinkQueue *q)
    {
    whlie (q->front){
    q->rear = q->front->next;
    free(q->front)
    q->front = q->rear;
    }
    }
  • 看我那么可爱n(≧▽≦)n
  • 关注我的微薄 (梁同桌):http://weibo.com/tongrenyinsheng
  • 个人博客: www.liangtongzhuo.com
  • ios 个人写的app (同人音声)ASMR音乐

你可能感兴趣的:(队列 front rear)