其他分享
首页 > 其他分享> > 队列

队列

作者:互联网

队列,先来先服务,先进先出

具有一定操作约束的线性表
只能在一端插入,而在另一端删除

操作集

队列顺序存储实现

队列的顺序存储结构通常由一个一维数组和一个记录队列头元素位置的变量front以及一个记录队列尾元素的变量rear组成

#define MaxSize <最大元素个数>
struct QNode{
      ElementType Data[MaxSize];
      int rear;
      int front;
};
typedef struct QNode *Queue;

环状队列

//入队列
void AddQ(Queue PtrQ,ElementType item){
      if(PtrQ->rear+1) % MaxSize == PtrQ->front{
            printf("队列满");
            return ;
      }
      PtrQ->rear=(PtrQ->rear+1) % MaxSize;
      PtrQ->Data[PtrQ->rear]=item;
//出队列
ElementType DeleteQ(Queue ptrQ){
      if(PtrQ->front==PtrQ->reat){
            printf("队列空");
            return ERROR;
      }
      else{
            PtrQ->front=(PtrQ->front+1)%MaxSize;
            return PtrQ->Data[PtrQ->front];
      }
}

标签:队列,PtrQ,Queue,int,MaxSize,front
来源: https://www.cnblogs.com/Alex3O/p/13362678.html