使用c语言构建一个带头节点的空队。部分代码为int InitQueue(LinkQueue &Q){=new QNode;return OK}
时间: 2024-02-11 21:08:02 浏览: 63
c语言实现队列的建立,入队,出队
5星 · 资源好评率100%
以下是构建带头节点的空队的完整代码:
```
#include <stdio.h>
#include <stdlib.h>
#define OK 1
#define ERROR 0
typedef int Status;
typedef int QElemType;
// 队列结点结构体
typedef struct QNode
{
QElemType data;
struct QNode *next;
}QNode, *QueuePtr;
// 队列结构体
typedef struct
{
QueuePtr front; // 队头指针
QueuePtr rear; // 队尾指针
}LinkQueue;
// 构造一个带头结点的空队列Q
Status InitQueue(LinkQueue &Q)
{
Q.front = Q.rear = (QueuePtr)malloc(sizeof(QNode)); // 构造一个空队列,队头队尾都指向头结点
if (!Q.front) // 存储分配失败
{
exit(ERROR);
}
Q.front->next = NULL; // 头结点的指针域置空
return OK;
}
int main()
{
LinkQueue Q;
if (InitQueue(Q))
{
printf("带头节点的空队列构建成功!\n");
}
else
{
printf("带头节点的空队列构建失败!\n");
}
return 0;
}
```
注意:在这个代码中,使用了引用类型LinkQueue &Q来传递队列的地址,以便在函数InitQueue中修改队列的内容。
阅读全文