c语言队列link指针,数据结构——链式队列基本操作(C语言实现)

1、定义

typedef struct LinkQueueNode

{

ElemType data;

struct LinkQueueNode *link;

}LinkQueueNode;

typedef struct LinkQueue

{

LinkQueueNode *head; // 队头指针

LinkQueueNode *tail; // 队尾指针

}LinkQueue;

2、初始化

void LinkQueueInit(LinkQueue *pq)

{

assert(pq != NULL);

pq->head = pq->tail = NULL;

}

3、入队、出队

void LinkQueueEn(LinkQueue *pq, ElemType x)

{

assert(pq != NULL);

LinkQueueNode *node = (LinkQueueNode*)malloc(sizeof(LinkQueueNode));

assert(node != NULL);

node->data = x;

node->link = NULL;

if (pq->head == NULL)

pq->head = pq->tail = node;

else

{

pq->tail->link = node;

pq->tail

你可能感兴趣的:(c语言队列link指针)