关于队列的入队,出队,遍历操作

                            **队列的操作**
#include<stdio.h>
#include<malloc.h>
#define MAXQSIZE 10
typedef struct
{
    int *base;
    int front;
    int rear;
}SqQueue;
void InitQueue(SqQueue*Q)
{
  Q->base=(int*)malloc(MAXQSIZE*sizeof(int));
  Q->front=Q->rear=0;
}
void EnQueue(SqQueue*Q,int val)
{
    Q->base[Q->rear]=val;
    Q->rear=(Q->rear+1)%MAXQSIZE;
}
int DeQueue(SqQueue*Q)
{
    int e;
    e=Q->base[Q->front];
    Q->front=(Q->front+1)%MAXQSIZE;
    return e;
}
void main()
{
    SqQueue S,T;
    InitQueue(&S);
    InitQueue(&T);
    int i,a=0,b,c,d,e;
    printf("请输入队列元素\n");
    for(i=0;i<6;i++)
    {
        scanf("%d",&a);
        EnQueue(&S,a);
    }
    e=DeQueue(&S);
    T=S;
    for(i=0;i<5;i++)
    {
        b=DeQueue(&S);
        printf("%d",b);
    }
    printf("\n");
    printf("请输入要增加的队列元素\n");
    scanf("%d",&c);
    EnQueue(&T,c);
    for(i=0;i<6;i++)
    {
        d=DeQueue(&T);
        printf("%d",d);
    }
}

在这里插入图片描述

发布了9 篇原创文章 · 获赞 0 · 访问量 288

猜你喜欢

转载自blog.csdn.net/qq_45662882/article/details/101307975