/**
*
* 作者:LinX 2017-6-16-上午
*
* 内容:链队列的结构及其应用
*
* 看严蔚敏教材上的图解,就很清晰
*/
#include <stdio.h>
#include <stdlib.h>
typedef int ElemType;
typedef struct QNode
{
ElemType data;
struct QNode *next;
}QNode,*QueuePtr;
typedef struct
{
QueuePtr front;
QueuePtr rear;
}LinkQueue;
/*基本操作*/
LinkQueue* initQueue(); //初始化链队列
void EnQue(LinkQueue *Q,ElemType e); //入队
ElemType DeQue(LinkQueue *Q); //出队
int isEmpty(LinkQueue *Q); //判空
void printQue(LinkQueue *Q); //输出队列
int main()
{
LinkQueue *Q=initQueue();
EnQue(Q,1);
EnQue(Q,2);
EnQue(Q,3);
printQue(Q);
DeQue(Q);
DeQue(Q);
DeQue(Q);
printQue(Q);
DeQue(Q);
return 0;
}
/*初始化链队列*/
LinkQueue* initQueue()
{
LinkQueue *Q=(LinkQueue*)malloc(sizeof(LinkQueue));
//两个指针同时指向一个节点
Q->front=(QueuePtr *)malloc(sizeof(QueuePtr));
Q->rear=Q->front;
Q->front->next&
链队列的结构及其操作
最新推荐文章于 2022-06-12 16:21:20 发布
本文详细介绍了链队列的结构,包括如何初始化、入队、出队、判断队列是否为空以及打印队列内容。通过示例代码展示了链队列的操作过程,如向队列中插入1、2、3三个元素,然后依次出队,最后输出队列状态。
摘要由CSDN通过智能技术生成