队列的链式存储--带头结点 C语言源码

本文详细介绍了如何使用C语言实现带头结点的链式队列,包括队列的初始化、入队、出队操作,以及相关的源代码实现,帮助读者深入理解链式队列的数据结构及其操作。
摘要由CSDN通过智能技术生成
//队列的链式存储--带头结点 
#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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梖梖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值