简单队列

简介: 数据结构的队列基本操作
输入要求如下:
初始化 void InitQueue(LinkQueue& Q);‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬
队列判空 bool IsEmpty(LinkQueue Q);‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬
入队EnQueue(LinkQueue& Q, ElemType x);‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬
出队DeQueue(LinkQueue& Q, ElemType &x);>>
建立一个链式存储的队列,从键盘接收数据入队,当输入“9999”时结束入队操作。
#define Maxsize 10
typedef struct{
    int data[Maxsize];
    int front,rear;
}Seque;
void InitQ(Seque &q){
    q.rear=q.front=0;
}
bool enque(Seque &q,int x){
    // if(q.rear==q.front){
    //     return -1;
    // }
    q.data[q.rear]=x;
    q.rear=(q.rear+1)%Maxsize;
    return 0;
}
bool queEmpty(Seque &q){
    if(q.rear==q.front){
        return 0;
    }
    else{
        return -1;
    }
}
bool dequeue(Seque &q,int x){
    if(q.rear==q.front){
      
        return -1;
    }
    x=q.data[q.front];
    
    printf("%d\n",x);
    q.front=(q.front+1)%Maxsize;
    return 0;
}
int main(){
    Seque S;
    InitQ(S);
    printf("请依次输入入队元素,当输入9999时结束入队\n");
    int a=0;
    scanf("%d",&a);
    while(a!=9999){
        enque(S,a);
         scanf("%d",&a);
    }
    printf("开始出队,出队元素如下:\n");
     int c=0;
    while(c!=5){
        c++;
        dequeue(S,a);
    }
    return 0;
}
相关文章
|
2月前
|
存储 消息中间件 前端开发
队列
队列
31 0
|
12月前
|
缓存
指令缓存队列
指令缓存队列
48 0
|
2月前
队列的实现
队列的实现
|
7月前
|
C++
c++ 队列
队列的数据结构
25 0
|
8月前
12 队列
12 队列
23 0
|
9月前
|
算法
|
12月前
|
C语言
【Leetcode】队列实现栈和栈实现队列
【Leetcode】队列实现栈和栈实现队列
38 0
|
12月前
|
存储
队列的实现(下)
队列的实现(下)
|
12月前
|
机器学习/深度学习 存储 C语言
队列的实现(上)
队列的实现(上)
|
存储
队列的使用
队列的使用
69 0