关于队列入队,一个地方不是很明白
程序代码:
struct queueNode { int data; queueNode *next; }queueNode; struct linkQueue { queueNode *head; queueNode *rear; }
链队列的定义
程序代码:
void insertQueue(linkQueue *q, int data) { queueNode *node; node = new queueNode; node->data = data; node->next = NULL; q->rear = node; q->rear->next = node; //不是很明白的地方 }
在书上和网上绝大多数人都是这样写的
在插入队列之后,已经让 q->rear 等于要插入的节点了,为什么还要让 q->rear->next 也要等于插入的节点?q->rear->next 不应该等于 NULL 吗,因为下一个节点目前还是未知的
网上看到有人写注释,如果不等于的话,队列就连不上了
不是很明白,有人指教下吗?