Skip to content

Latest commit

 

History

History
115 lines (90 loc) · 2.09 KB

3.2.3 队列的链式存储结构.md

File metadata and controls

115 lines (90 loc) · 2.09 KB


3.2.3 队列的链式存储结构


  链队就是采用链式存储的队列。


为了使空队列和满队列时操作统一,均带有头结点
  • 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

单项选择题

  1. xxxx( )

    A. xxx
    B. XX
    C. Xx
    D. xX

    查看解析

    答案:x


-- 完 --