C++指针循环问题

我用了CLIST链表...CLIST<AI,AI>ai_tree;现在我获取了两个结点headtail(注意head不是GetHeadPosition,tail也不是Ge... 我用了CLIST链表...
CLIST<AI,AI> ai_tree;
现在我获取了两个结点 head tail(注意head不是GetHeadPosition,tail也不是GetTailPosition),这head,tail只是ai_tree结点中的一部分。
现在我要实现一个循环 从head的值取到tail的值...怎么做?
注意:
1.for(POSITION ps=head;ps!=tail;ai_tree.GetNext(ps))是不对的,因为这个没法取到tail的值。
2. while(head!=tail){
ai_tree.Getnext(head);
}//这也是不对的,同样娶不到tail的值。
3. do
{
}while(head!=tail)//貌似也娶不到tail的值。

我实在不懂怎么样子才能取到。。想都烦死了。
我之前还想过 是不是在 循环体里面 直接取 当前循环的下一个数值
比如 for(ps=head;ps!=tail;getnext(ps))
{
POSITION P=ps;
ai_tree.getnext(p);
if(p==tail)
break;
}
//这样貌似能取,可我后面有很多循环体,都是这种形式的,要像上面取的话太复杂了。有没有什么方便的办法?
展开
 我来答
lvleysuper
2014-04-04
知道答主
回答量:8
采纳率:0%
帮助的人:4.8万
展开全部
tail不是GetTailPosition取到的,那配举逗么tail应该有下一个节答缺点。你可以获取到tail的下一个节点,作为循环终止条件。比如你要输出1,2,3; for(int i=1;i!=3;i++) printf("%d\n",i);显然不可以,但是 for(int i=1;i!=4;i++) printf("%d\n",i)就可培卖以了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式