ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

循环队列(顺序存储)

2022-07-13 20:04:48  阅读:142  来源: 互联网

标签:return 队列 SqQueue int MaxSize 循环 front 顺序存储 rear


#include<stdio.h>
#include<stdlib.h>

#define MaxSize 10

//定义队列
typedef struct{
    int data[MaxSize];            //存放队列元素
    int front,rear;                //定义队首指针和队尾指针
}SqQueue;

//初始化队列
void InitQueue(SqQueue &Q){
    Q.rear=Q.front=0;            //初始化队首队尾指针
}

//判断队空
bool isEmpty(SqQueue Q){
    if(Q.rear==Q.front){
        return true;
    }else{
        return false;
    }
}

//入队
bool EnQueue(SqQueue &Q,int x){
    if((Q.rear+1)%MaxSize==Q.front){            //判断队满
        return false;
    }
    Q.data[Q.rear]=x;
    Q.rear=(Q.rear+1)%MaxSize;                    //防止rear超过MaxSize,同时实现队列循环
    return true;
}

//出队
bool DeQueue(SqQueue &Q,int &x){
    if(Q.rear==Q.front){            //判断队空
        return false;
    }
    x=Q.data[Q.front];
    Q.front=(Q.front+1)%MaxSize;    //实现队列循环1
    return true;
}

//查找
bool GetQueue(SqQueue Q,int &x){
    if(Q.front==Q.rear){
        return false;
    }
    x=Q.data[Q.front];
    return true;
}

int main(){
    
}

 

标签:return,队列,SqQueue,int,MaxSize,循环,front,顺序存储,rear
来源: https://www.cnblogs.com/zyj3955/p/16475330.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有