求一个链队的求长度函数
typedef struct qnode{
QElemType data;
struct qnode *next;
} QNode; /*链队数据结点类型定义*/
typedef struct
{
QNode *front;
QNode *rear;
} LiQueue; /*链队类型定义*/
/********************求队列长度********************/
int QueueLength(LiQueue *q)
{
int n=0;
if(q->rear==NULL)
return 0;
else if(q->front==q->rear)
return 1;
else
{
while(q->front!=q->rear)
{
n++;
q->front= q->front->next;
}
return (n+1);
}
} //QueueLength
这个求队列长度的函数 有问题, 求不出真实的长度啊!!! 问题出在哪里啊?? 求解释啊。。。。。。。。
(请给出具体函数,谢谢了!!)