| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 556 人关注过本帖
标题:入队出对为什么这样调指针?
只看楼主 加入收藏
suqhang
Rank: 2
等 级:论坛游民
帖 子:16
专家分:20
注 册:2010-7-7
结帖率:0
收藏
 问题点数:0 回复次数:4 
入队出对为什么这样调指针?
void SEQUENCE_QUEUE::InQueue(ELEMTYPE *pe)
{
    queue[rear]=*pe;
    rear=(rear+1)%MAXSIZE;                //???
}


void SEQUENCE_QUEUE::OutQueue(ELEMTYPE *pe)
{
    *pe=queue[front];
    front=(front+1)%MAXSIZE;            //???
搜索更多相关主题的帖子: 指针 入队 
2010-10-22 14:52
m21wo
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:4
帖 子:440
专家分:1905
注 册:2010-9-23
收藏
得分:0 
这时循环队列的入队和出队么!

If You Want Something, Go Get It, Period.
2010-10-22 15:44
suqhang
Rank: 2
等 级:论坛游民
帖 子:16
专家分:20
注 册:2010-7-7
收藏
得分:0 
回复 2楼 m21wo
是啊
2010-10-22 15:45
wsliuyunming
Rank: 3Rank: 3
等 级:论坛游侠
威 望:3
帖 子:54
专家分:143
注 册:2010-9-26
收藏
得分:0 
因为  rear=(rear+1)%MAXSIZE;  MAXSIZE是指队列的最大的容量 %取余运算, rear+1)%MAXSIZE让rear指向队列的下个位子。 同理front 也是如此。因为front总是指在最后一个元素的下一个位子所以front=(front+1)%MAXSIZE中假如MAXSIZE=10,front=3 运算之后front就等于4了指向了第4个位子了。假如maxsize等于4 front就指向了第一个0号位子了。你就把它看成一个有大小的循环就可以了
2010-10-25 15:47
suqhang
Rank: 2
等 级:论坛游民
帖 子:16
专家分:20
注 册:2010-7-7
收藏
得分:0 
回复 4楼 wsliuyunming
如果我想做约瑟夫环问题,如何用循环??
2010-10-29 23:32
快速回复:入队出对为什么这样调指针?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011718 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved