求链队Lq中包括栈元素个数的算法。

来源:百度知道 编辑:UC知道 时间:2024/05/24 03:24:32
QueueLength(Lq)
{
p=Lq->front->next;
i=0;
while(p)
{
p=->next;
i++;
}
return(i);
}
希望可以给我一个完整的程序.

你想要队列中元素个数,还是想要栈中的元素个数,能说清楚点吗?
队列中怎么可能包含栈元素呢?不懂。。。。
你那段代码求得是队列中的元素个数。
求栈中元素个数:
int StackLength(LStack *s)
{
int i=0;
while(s->next!=NULL)
{
s=s->next;
i++;
}
return i;
}

判断链中元素的个数关键是的要找到链表的尾,那么就用while(*p)
p为指向链表头指针的指针,每循环一次i的值自动+1,当指针p指向末端时,循环结束。用return(i)的值就返回就可以了,估计是你的指针没有定义好吧!