(队列)只允许在一端进行插入操作,而在另一端进行删除操作的线性表
与栈相反,队列是一种先进先出的线性表(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音乐