zoukankan      html  css  js  c++  java
  • 循环顺序队列

    #include <iostream>
    using namespace std;
    #define MAX 4
    typedef struct queuearr
    {
        int arr[MAX];
        int cap;
        int size;
        int head;
        int tail;
    }QUEUE;
    QUEUE* create_queue()
    {
        QUEUE* queue = new QUEUE;
        queue->cap = MAX;
        queue->size = 0;
        queue->head = 0;
        queue->tail = 0;
    }
    void queue_push(QUEUE* queue, int data)
    {
        if(queue->cap == queue->tail)
        {
            //cout<<"has been full"<<endl;
            queue->tail = 0;
        }
        queue->size++;
        queue->arr[queue->tail++] =data;
    }
    int queue_pop(QUEUE* queue)
    {
        if(queue->cap ==queue->head)
        {
            //cout<<"has been empty"<<endl;
            queue->head = 0;
        }
        queue->size--;
        return queue->arr[queue->head++];
    }
    bool queue_full(QUEUE* queue)
    {
        if(queue->size==queue->cap)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    bool queue_empty(QUEUE*  queue)
    {
        if(queue->size ==0)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    void destroy_queue(QUEUE* queue)
    {
        delete queue;
    }
    int main()
    {
        QUEUE* queue = create_queue();
        for(int i=10;i<=40;i+=10)
        {
            if(!queue_full(queue))
            {
                queue_push(queue,i);
            }
        }
        for(int i=0; i<2;i++)
        {
            if(!queue_empty(queue))
            {
                cout<<queue_pop(queue)<<" ";
            }
        }
        cout<<endl;
        for(int i=50;i<=60;i+=10)
        {
            if(!queue_full(queue))
            {
                queue_push(queue,i);
            }
        }
        for(int i=0; i<4;i++)
        {
            if(!queue_empty(queue))
            {
                cout<<queue_pop(queue)<<" ";
            }
        }
        cout<<endl;
        return 0;
    }

    关注公众号 海量干货等你
  • 相关阅读:
    学习精神
    C语言输入、输出格式控制
    C语言输入、输出格式控制
    关于打开VC6.0开发文件出错文件问题
    关于打开VC6.0开发文件出错文件问题
    FormStartPosition 枚举
    FormStartPosition 枚举
    判断文本框输入是否为汉字
    判断文本框输入是否为汉字
    POJ——T 1422 Air Raid
  • 原文地址:https://www.cnblogs.com/sowhat1412/p/12734509.html
Copyright © 2011-2022 走看看