//队列的链式存储--带头结点
#include <stdio.h>
#include <stdlib.h>
#define MaxSize 10
struct LinkNode{
int data;
struct LinkNode *next;
};
typedef struct LinkNode LinkNode;
struct LinkQueue{
LinkNode *front;
LinkNode *rear;
};
typedef struct LinkQueue LinkQueue;
/*
初始化队列
返回值
0--失败
1--成功
*/
int initQueue(LinkQueue *queue){
LinkNode *newNode=(LinkNode *)malloc(sizeof(LinkNode));
if(newNode==NULL){
return 0;
}
(*newNode).next=NULL;
(*queue).front=newNode;
(*queue).rear=newNode;
}
/*
判断队列是否为空
1--为空
0--不为空
*/
int queueEmpty(LinkQueue queue){
if(queue.front==queue.rear){
return 1;
}else{
return 0;
}
}
/*
销毁队列
*/
void destoryQueue(LinkQueue queue){
LinkNode *tmpNode=queue.front;
while(tmpNode!=NULL){
LinkNode *p=tmpNode;
tmpNode=(*tmpNode).next;
free(p);
}
}
/*
入队操作
返回值
0--失败
1--成功
*/
int enQueue(LinkQueue *queue,int data){
LinkNode *newNode=(LinkNode
队列的链式存储--带头结点 C语言源码
最新推荐文章于 2023-05-31 20:49:26 发布
本文详细介绍了如何使用C语言实现带头结点的链式队列,包括队列的初始化、入队、出队操作,以及相关的源代码实现,帮助读者深入理解链式队列的数据结构及其操作。
摘要由CSDN通过智能技术生成