链队就是采用链式存储的队列。
-
C 语言描述:
typedef struct { ElemType data; struct LinkNode *next; } LinkNode; typedef struct { LinkNode *front, *rear; } LinkQueue;
-
链式队列基本操作
-
初始化
void InitQueue(LinkQueue &Q) { Q.front = (LinkNode*)malloc(sizeof(LinkNode)); Q.rear = Q.front; Q.front->next = NULL; }
-
判队空
void isEmpty(LinkQueue Q) { if(Q.front == Q.rear) return true; else return false; }
-
入队
void EnQueue(LinkQueue &Q, ElemType x) { LinkNode *s = (LinkNode*)malloc(sizeof(LinkNode)); s->data = x; s->next = NULL; Q.rear->next = s; Q.rear = s; }
-
出队
void DeQueue(LinkQueue &Q, ElemType &x) { if(Q.front == Q.rear) return false; LinkNode *p = Q.front->next; x = p->data; if(Q.rear == p) Q.rear = Q.front; free(p); return true; }
-
xxx
-
xxxx( )
A. xxx
B. XX
C. Xx
D. xX查看解析
答案:x
-- 完 --