链队列的插入
时间: 2023-11-20 22:16:56 浏览: 100
链队列操作
链队列的插入分为两种情况:
1. 队列为空,插入第一个元素
此时只需要创建一个新结点,并让队头和队尾都指向它即可。
2. 队列不为空,插入新元素
此时只需要创建一个新结点,并让队尾的 next 指针指向它,再将队尾指针后移即可。
下面是链队列的插入代码实现:
```c++
void EnQueue(LinkQueue &Q, QElemType x) {
QueuePtr p = (QueuePtr)malloc(sizeof(QNode)); // 创建新结点
p->data = x;
p->next = NULL;
Q.rear->next = p; // 新结点插入队尾
Q.rear = p; // 队尾指针后移
}
```
其中,`Q` 是链队列,`x` 是要插入的元素。`Q.rear` 是队尾指针,`Q.rear->next` 是队尾结点的 next 指针,初始时指向 NULL。`QueuePtr` 是指向结点的指针,`QNode` 是结点类型。
阅读全文