cheyhu 发表于 2019-12-12 20:48:34

关于链式结构的问题

本帖最后由 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;
        }

上面队列的初始化为什么开辟的是数据结点类型的?而不是头结点类型的?

cheyhu 发表于 2019-12-12 20:56:20

有大神吗?急求
页: [1]
查看完整版本: 关于链式结构的问题