队列的数据类型
typedef struct Node
{
int data;
struct Node *next //
}LinkQueueNode ;
typedef struct {
LinkQueueNode *front;
LinkQueue Node *rear ;
} LinkQueue;
初始化队列;
int InitQueue (LinkQueue *Q)
{
// 申请一个队空间使队首指针指向它;
Q->front(LinkQueueNode*)sizeof(LinkQueueNode);
if(Q->front!=NULL)
{
Q->rear=Q->front; // 队首队尾指向同一个空间,队列为空时;
Q->front->next=NULL;
return 1;
}
return 0;
}
--
一般节点的申请;
LinkQueueNode *NweNode;
//申请一个空间
NewNode =(LinkQueueNode*)malloc(sizeof(LinkQueueNode);
我想问一下链队列的头节点和,,其余节点是否是一样的结构,
我认为头节点多存储了指向头节点和尾部的指针;
但是头节点申请的空间的数据结构和普通的节点一样 ,而又传入了一个LinkQueue 型的指针.
Q->front(LinkQueueNode*)sizeof(LinkQueueNode);
那个大佬能解释一下吗?
各个节点肯定类型都是一样的,包括头节点。
你这个LinkQueue只是相当于一个辅助对象,同时保存了头节点和尾节点,不是链表的一部分。