• 环形队中实现队列的基本运算


    /*队空条件:front=rear
    队满条件:(rear+1)%MaxSize=front
    进队e操作:rear=(rear+1)%MaxSize; 将e放在rear处
    出队操作:front=(front+1)%MaxSize;取出front处元素e; */
    #include <iostream>
    #include <malloc.h>
    using namespace std;
    const int maxn=4;
    
    typedef struct
    {
        int data[maxn];
        int front,rear;
    }queue;
    //初始化队列
    void init(queue *&q)
    {
        q=(queue*)malloc(sizeof(queue));
        q->rear=q->front=0;
    }
    //销毁队列
    void destroy(queue *&q)
    {
        free(q);
    }
    //判断队列是否为空
    bool empty(queue *&q)
    {
        return q->front==q->rear;
    }
    //进队列
    void push(queue *&q,int e)
    {
        if((q->rear+1)%maxn==q->front)
        {
            cout<<"队满,无法入队!"<<endl;
            return;
        }
        q->rear=(q->rear+1)%maxn;
        q->data[q->rear]=e;
    }
    //出队列
    void pop(queue *&q)
    {
        if(q->front==q->rear)
        {
            cout<<"队空,无元素!"<<endl;
            return ;
        }
        q->front=(q->front+1)%maxn;
    }
    
    int main()
    {
        queue *q;
        init(q);
        push(q,2);
        push(q,4);
        cout<<empty(q);
        pop(q);
        pop(q);
        cout<<empty(q);
        return 0;
    }
    

  • 相关阅读:
    关于SqlServer远程跨库修改数据
    泛型进阶
    .NET泛型初探
    Basic MF
    特征工程
    序列最小最优化算法(SMO)-SVM的求解(续)
    感知器、逻辑回归和SVM的求解
    排序小结
    梯度下降、牛顿法和拉格朗日对偶性
    从决策树到随机森林
  • 原文地址:https://www.cnblogs.com/sr1993/p/3697936.html
Copyright © 2020-2023  润新知