首页 > 其他 > 详细

队列-循环队列-顺序存储

时间:2020-02-27 15:41:09      阅读:54      评论:0      收藏:0      [点我收藏+]
#include<iostream>
#include<vector>

using namespace std;

//结构定义
#define maxSize 50
typedef struct{
    int data[maxSize];
    int rear,prior;
}SqQueue;

void initQueue(SqQueue &Q){
    Q.rear = 0;
    Q.prior = 0;
}

bool QueueEmpty(SqQueue Q){
    if(Q.rear == Q.prior){
        return true;
    }
    return false;
}

bool EnQueue(SqQueue &Q,int elem){
    //查看队列是否已满,牺牲一个队列位置
    if((Q.rear+1)%maxSize == Q.prior){
        return false;
    }
    Q.data[Q.rear] = elem;
    Q.rear = (Q.rear + 1) % maxSize;
    return true;
}

bool DeQueu(SqQueue &Q,int &elem){
    //查看队列是否为空
    if(Q.rear == Q.prior){
        return false;
    }
    elem = Q.data[Q.prior];
    Q.prior = (Q.prior + 1) % maxSize;
    return true;
}

 

队列-循环队列-顺序存储

原文:https://www.cnblogs.com/buaaZhhx/p/12372227.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!