队列 front rear

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

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

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


链队列

<pre>
typedef struct QNode{
ElemType data;
struct QNode *next;
} QNode, *queuePrt;
</pre>

<pre>
typedef struct {
QyeyePrt front,rear;
} LinkQueue;
</pre>

  • 入队列操作
    <pre>
    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;
    }
    </pre>
  • 出队列操作
    <pre>
    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);
    }
    </pre>
  • 销毁队列
    <pre>
    DestroyQueue(LinkQueue *q)
    {
    whlie (q->front){
    q->rear = q->front->next;
    free(q->front)
    q->front = q->rear;
    }
    }
    </pre>
  • 看我那么可爱n(≧▽≦)n
  • 关注我的微薄 (梁同桌):http://weibo.com/tongrenyinsheng
  • 个人博客: www.liangtongzhuo.com
  • ios 个人写的app (同人音声)ASMR音乐
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 队列是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。(先进先出) 队列的链试存储结构 队列既可以用链表...
    AceKitty阅读 351评论 1 1
  • 本文内容取自于小甲鱼的数据结构与算法。http://www.jianshu.com/p/230e6fde9c75 ...
    阿阿阿阿毛阅读 2,930评论 0 7
  • 一、数据结构绪论 逻辑结构与物理结构逻辑结构:集合、线性(一对一)、树(一对多)、图(多对多)物理结构:顺序存储结...
    scarqin阅读 2,565评论 0 3
  • 1.线性表的定义 线性表:零个或多个数据元素的有限序列序列:也就是说元素之间是有顺序的,若元素存在多个,则第一个元...
    e40c669177be阅读 2,094评论 6 15
  • 课程介绍 先修课:概率统计,程序设计实习,集合论与图论 后续课:算法分析与设计,编译原理,操作系统,数据库概论,人...
    ShellyWhen阅读 2,362评论 0 3