|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 cheyhu 于 2019-12-12 20:53 编辑
有一下几个问题麻烦各位指点指点
1.链表如果有头结点是不是可以用头结点代表整个结构?没有头结点那比如LinkList L中这个L到底是什么方式存在的?
2.链式队列的头结点问题,一般是不是队首front就是头结点?怎么知道题目中说的是有没有带头结点?
3.链式队列的销毁:
int DestoryQueue(LinkQueue &Q){
while(Q.front){
Q.rear = Q.front ->next;
free(Q.front);
Q.front = Q.rear;
}
return OK;
}
上面这段代码Q.front这个代表的是头结点吗?如第1个问题所问的,头结点代表整个结构,那如果头结点被删了,那是不是整个结构都没有了?那Q.xxx 是不是也没法用了?
4.队列的初始化
typedef struct QNode{ //队列中 结点 的数据结构类型
QElemType date;
struct QNode *next;
}QNode, *QueuePtr;
typedef struct{ //队列的数据结构类型
QueuePtr front;
QueuePtr rear;
}LinkQueue;
int InitQueue(LinkQueue *Q)
{
Q->front = (LinkQueueNode *)malloc(sizeof(LinkQueueNode));
if (Q->front != NULL)
{
Q->rear = Q->front;
Q->front->next = NULL;
return TRUE;
}
上面队列的初始化为什么开辟的是数据结点类型的?而不是头结点类型的? |
|