顺序队列

添加头文件

声明宏定义

设计数据结构

功能函数声明

具体功能实现


:因为队头和队尾都指向第一/最后一个有效元素,因此queue->tall指向-1更合适,而不是指向前/下一个空元素,方便查询






简单调用测试

int main()
{
	Queue* queue = creat_queue(10);
	for(int i=0; i<15; i++)
	{
		printf("入队%s,",push_queue(queue,i)?"成功":"失败");
		printf("队尾:%d\n",*tall_queue(queue));
	}
	printf("---------------------\n");
	for(int i=0; i<5; i++)
	{
		printf("队头:%d,",*head_queue(queue));
		printf("出队%s\n",pop_queue(queue)?"成功":"失败");
	}
	printf("---------------------\n");
	for(int i=77; i<88; i++)
	{
		printf("入队%s,",push_queue(queue,i)?"成功":"失败");
		printf("队尾:%d\n",*tall_queue(queue));
	}
}

结果


总结

创建:初始化各参数
销毁:直接释放
队空:通过cnt判断
队满:通过cnt判断
入队:队不满则回头(队头前面有空,队尾就跑到了队头前面),给队尾赋值
出队:队不空则回头
队头:队不空,返回队头
队尾:队不空,返回队尾

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值