链队的初始化
- 生成新节点作为头节点,队头和队尾指向此节点
- 头节点的指针域置空
Status InitQueue(LinkQueue &q)
{
q.front = q.rear = (Queue*)malloc(sizeof(Queue)); //生成新节点作为头节点,队头和队尾指向此节点
q.front->next = NULL; //头结点指针域置空
return OK;
}
链队的入队
- 为入队元素申请堆空间,用指针p指向
- 将新节点数据域置为e
- 将新节点插入到队尾
- 修改队尾指针为p
Status EnQueue(LinkQueue &q,ElemType e)
{
Queue *p = (Queue*)malloc(sizeof(Queue)); //为入队元素申请堆空间,用p节点指向
p->data = e; //将新节点的数据域置为e
p->next = NULL; //新节点的的指针域置空
q.rear->next = p; //新节点插入到表尾
q.rear = p; //修改表尾指针
re