数据结构严蔚敏 队列基本操作 C语言实现

这篇博客介绍了数据结构严蔚敏第三章中的队列基本操作,遵循C语言实现。内容包括链队列的基本结构定义,操作函数的声明和定义,以及测试部分,详细阐述了队列的FIFO原则。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【数据结构严蔚敏】 第三章 队列基本操作C语言

队列基本操作与栈类似,区别是删除元素时根据先进先出原则(FIFO),下面给出链队列的基本操作。

代码部分

1.基本结构定义

typedef int QElemType;	//元素类型
typedef int Status;		
typedef struct QNode {
   
	QElemType data;
	struct QNode *next;
}QNode,*QueuePtr;

typedef	struct {
   
	QueuePtr front;	//对头指针
	QueuePtr rear;	//队尾指针
}LinkQueue;

2.基本操作函数声明 LinkQueue.h

//构造一个空队列
Status InitQueue(LinkQueue &Q);

//销毁队列Q,Q不再存在
Status DetroyQueue(LinkQueue &Q);

//将Q清为空队列
Status ClearQueue(LinkQueue &Q);

//若Q为空队列,则返回TRUE,否则返回FLASE
Status QueueEmpty(LinkQueue Q);

//返回Q的元素个数
int QueueLenth(LinkQueue Q);

//若队列不空,则用e返回Q的队头元素,并返回OK,否则返回ERROR
Status GetHead(LinkQueue Q, QElemType &e);

//插入元素e为Q的新的队尾元素
Status EnQueue(LinkQueue &Q, QElemType e);

//若队列不空,则删除Q的队头元素,用e返回其值,并返回OK
Status DeQueue(LinkQueue &Q, QElemType &e);

//对队列所有元素依次进行visit()操作
Status QueueTraverse(LinkQueue Q, Status(*visit)(QueuePtr));

3.基本操作函数定义 LinkQueue.c

#include
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值