zoukankan      html  css  js  c++  java
  • 队列顺序存储

    /**
     * 队列--顺序存储
     **/
    
    #include <stdlib.h>
    #include <iostream.h>
    
    #define OK 1
    #define ERROR 0
    //队列的最大数据元素数目
    #define MAX_QUEUE 10         
               
    typedef struct queue{                 
        //假设当数组只剩下一个单元时认为队满
        int item[MAX_QUEUE];   
        //存放队列中数据元素的存储单元
        int front,rear; //队头指针、队尾指针
    }QUEUE;
    
    //初始化队列Q    
    void InitQueue(QUEUE *Q)
    {
        Q->front=-1;
        Q->rear=-1;
    }
    
    //入队    
    void EnQueue(QUEUE *Q,int item)
    {
        if ((Q->rear+1)%MAX_QUEUE==Q->front) exit(0);
        else 
        {  
            Q->rear=(Q->rear+1)%MAX_QUEUE;
            Q->item[Q->rear]=item;    
        }
    }
    
    //判断队列Q是否为空 
    int QueueEmpty(QUEUE Q)
    {
        if (Q.front==Q.rear) return 1;
        else return 0;
    }
    
    //获取队头元素内容   
    void  GetFront(QUEUE Q,int *item) 
    {
        if (QueueEmpty(Q)) exit(0);
        else *item=Q.item[(Q.front+1)%MAX_QUEUE];
    }
    
    //出队  
    void DeQueue(QUEUE*Q,int *item)
    {
        if (QueueEmpty(*Q)) exit(0);
        else
        {
            Q->front=(Q->front+1)%MAX_QUEUE;
            *item=Q->item[Q->front];
        }
    }
  • 相关阅读:
    Java基本数据类型之间转换
    python 元组tuple
    python 列表List
    python 字符串
    python for循环
    python break/continue
    python while循环
    python条件判断if/else
    python运算符
    python变量
  • 原文地址:https://www.cnblogs.com/hnhcc39/p/2923629.html
Copyright © 2011-2022 走看看