zoukankan      html  css  js  c++  java
  • 队列-链式队列

    #include<iostream>
    #include<vector>
    
    using namespace std;
    
    //结构定义
    #define maxSize 50
    typedef struct LinkNode{
        int data;
        struct LinkNode *next;
    };
    typedef struct{
        LinkNode *prior,*rear;
    }LinkQueue;
    
    void initLinkQueue(LinkQueue &Q){
        //带头结点的链表
        LinkNode *s = new LinkNode;
        s->next = nullptr;
        Q.prior = s;
        Q.rear = s;
    }
    
    bool IsEmpty(LinkQueue Q){
        if(Q.prior == Q.rear){
            return true;
        }
        return false;
    }
    
    void EnQueue(LinkQueue &Q,int elem){
        LinkNode *s = new LinkNode;
        s->data = elem;
        s->next = nullptr;
        Q.rear->next = s;
        Q.rear = s;
    }
    
    bool DeQueue(LinkQueue &Q,int elem){
        //判断队列是否为空
        if(Q.prior == Q.rear){
            return false;
        }
        LinkNode *p = Q.prior->next;
        elem = p->data;
        Q.prior->next = p->next;
        if(Q.rear == p){
            Q.rear = Q.prior;
        }
        free(p);
        return true;
    }
    

       

  • 相关阅读:
    最小的k个数
    复杂链表的复制
    二叉树中和为某一值的路径
    二叉搜索树的后序遍历序列
    STL之Deque容器
    STL之迭代器
    STL之Vector容器
    STL之string
    STL(标准模板库)基本概念
    文件I/O
  • 原文地址:https://www.cnblogs.com/buaaZhhx/p/12372701.html
Copyright © 2011-2022 走看看