搜索
编程论坛
→
开发语言
→
『 数据结构与算法 』
→ 用循环数组表示队列?
标题:
用循环数组表示队列?
只看楼主
紫罗兰丹丹
等 级:
论坛游民
威 望:
1
帖 子:14
专家分:13
注 册:2014-3-28
结帖率:
75%
楼主
已结贴
√
问题点数:20 回复次数:1
用循环数组表示队列?
用一个循环数组q[0....m-1]表示队列时,该队列仅存在一个队列头指针front,不设尾指针rear,但设置计数器count记录队列中的结点数,编写算法实现判空,入队和出队。
判空的话不是要front=rear=0么?不设尾指针该怎么判空a?
那个计数器又要怎么用?
求大神给个思路...
搜索更多相关主题的帖子:
计数器
count
记录
2014-03-29 15:46
azzbcc
来 自:江西财经大学
等 级:
贵宾
威 望:
81
帖 子:3293
专家分:12919
注 册:2012-11-4
第
2
楼
得分:20
对于该队列,空间大小 m * sizeof(datatype),可存储数据个数 m,实际存储数据个数 count
所以队列空和队列满的条件分别是 count == 0 和 count == m
对于出入队列,其实就是头指针 front 的 前后移动和 count 加减,中间用取余操作实现循环,是同一类操作。
EnQueue(e):
Q->q[Q->front] = e;
Q->front = (Q->front + 1) % M;
Q->count += 1;
DeQueue():
return Q->data[(Q->front + M - Q->count--) % M];
[
本帖最后由 azzbcc 于 2014-3-31 13:11 编辑
]
[fly]存在即是合理[/fly]
2014-03-31 12:40
2
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-429358-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.032517 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved