美文网首页
基于基地址的循环队列

基于基地址的循环队列

作者: 始于尘埃 | 来源:发表于2019-07-30 14:17 被阅读0次
//循环顺序队列(queue)的实现
#include <iostream>
#include <string>
using namespace std;
#define Maxsize 100
typedef struct{
    string name;
    int num;
}QElemType;
typedef struct{
    QElemType *base;
    int front;
    int rear;
}SqQueue;

//初始化
bool InitQueue(SqQueue &Q){
    //创建一个含有头结点的队列
    Q.base = new QElemType[Maxsize];
    if(!Q.front) exit(0);
    Q.front = Q.rear; 
}
//求队长度
int QueueLength(SqQueue Q){
    return(Q.rear-Q.front+Maxsize)%Maxsize;
} 
//入队
bool EnQueue(SqQueue &Q,string Name,int Num){
    if((Q.rear+1)%Maxsize == Q.front) return 0;
    Q.base[Q.rear].name = Name;
    Q.base[Q.rear].num =  Num;
    //移动
    Q.rear = ((Q.rear+1)%Maxsize); 
} 
//出
bool DeQueue(SqQueue &Q,string &Name,int &Num){
    if(Q.rear == Q.front) return 0;
    Name = Q.base[Q.front].name;
    Num = Q.base[Q.front].num;
    Q.front = (Q.front+1)%Maxsize;
}
int main(){
    SqQueue q;
    InitQueue(q);
    string Name,s1;
    int Num,s2;
    int i=0,j=0;
    for(i;i<3;i++){
        cout<<"name:"<<"num";
        cin>>Name>>Num;
        EnQueue(q,Name,Num);
    }
    for(j;j<3;j++){
        DeQueue(q,s1,s2);
        cout<<s1<<s2<<"\n"<<endl;
    }
    return 0;
}

相关文章

  • 基于基地址的循环队列

  • 队列

    队列特性 对比队列和栈 基于数组的队列 对比队列学习循环队列 循环队列难点 阻塞队列 并发队列 应用:线程池中拒绝...

  • 队列

    基于数组的循环队列 Java实现 基于链表的队列实现 Java实现

  • LeetCode 622. 设计循环队列

    622. 设计循环队列 设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原...

  • 数据结构——队列

    目录 1、什么是队列 2、队列的实现 2.1、基于简单循环数组的实现 2.1.1、为什么需要循环数组 2.1.2、...

  • 七个阻塞队列

    ArrayBlockingQueue 基于数组的有界阻塞队列 使用单锁 LinkedBlockingQueue 基...

  • tensorflow的队列

    tf.FIFOQueue tensorflow队列函数tf.FIFOQueue的用法 FIFOQueue类基于基类...

  • 622 设计循环队列

    题目描述: 设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被...

  • LeetCode 622——设计循环队列

    1. 题目 设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被...

  • Leetcode622. 设计循环队列

    题目 设计你的循环队列实现。 循环队列是一种线性数据结构,其操作表现基于 FIFO(先进先出)原则并且队尾被连接在...

网友评论

      本文标题:基于基地址的循环队列

      本文链接:https://www.haomeiwen.com/subject/nqqnrctx.html