调试程序要有逻辑和耐心,先仔细分析可能的原因,在针对这些原因调试,盲目的调试并不能提高效率
出错项目:停车场
出错程序:定义出队操作函数时忽略了头结点的存在,使得函数结束后头结点指针指向的是出队的节点信息,在下一次调用此函数时头指针指向的不是队列的头结点,而是前一个出队的节点
使得在另外一个函数中两个节点形成环状链表;
出错项目:停车场
出错程序:定义出队操作函数时忽略了头结点的存在,使得函数结束后头结点指针指向的是出队的节点信息,在下一次调用此函数时头指针指向的不是队列的头结点,而是前一个出队的节点
使得在另外一个函数中两个节点形成环状链表;
int LeaveQueue(Queue *q, Node **tmp)//离开等候队列
{
if(NULL == q || q->front == q->rear)
{
return FAILURE;
}
(*tmp) = q->front->next;
q->front = q->front->next;//应写成 q->front->next = q->front->next->next;
return SUCCESS;
}