zoukankan      html  css  js  c++  java
  • 10.14重写ENqUEUE和DEQUEUE,使之能处理队列的下溢和上溢。

    #include "iostream"
    using namespace std;
    
    typedef struct{
        int tail;
        int head;
        int q[7];
    }QUEUE;//队列数据结构定义
    
    bool QUEUE_EMPTY(QUEUE &Q){
        if(Q.tail==Q.head)
            return true;
        else 
            return false;
    }//判断队列是否已空
    
    bool QUEUE_FULL(QUEUE &Q){
        if(Q.tail==6&&Q.head==1||Q.tail+1==Q.head)
            return true;
        else 
            return false;
    }//判断队列是否已满
    
    void ENQUEUE(QUEUE &Q,int x){
        if(QUEUE_FULL(Q))
            cout<<"队列已经满了!!!"<<endl;
        else{
            Q.q[Q.tail]=x;
            if(Q.tail==6)
                Q.tail=1;
            else
                Q.tail=Q.tail+1;
        }
    }//入队列
    
    int DEQUEUE(QUEUE &Q){
        int x;
        if(QUEUE_EMPTY(Q)){
            cout<<"队列已空!!!"<<endl;
            return -1;
        }
        
        else{
            x=Q.head;
            if(Q.head==6)
                Q.head=1;
            else 
                Q.head=Q.head+1;
            return x;
        }
    }//出队列
    
    void INIT_QUEUE(QUEUE &Q){
        Q.tail=Q.head=1;
    }//初始化队列
    
    void main(){
        QUEUE Q;
        INIT_QUEUE(Q);
        DEQUEUE(Q);
        for(int i=1;i<=6;i++)
            ENQUEUE(Q,i);
        getchar();
        getchar();
    }//对队列进行调试
  • 相关阅读:
    CF1450H2
    CF1379F2
    CF1217F
    CF1393E2
    CF1510H
    CF1514E
    CF1515G
    CF1516E
    在pycharm中导入PyMysql出错,解决方法
    搭建fastdfs文件服务器
  • 原文地址:https://www.cnblogs.com/593213556wuyubao/p/2954091.html
Copyright © 2011-2022 走看看