顺序队列

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#define MaxQueueSize 5

typedef struct{
    int data[MaxQueueSize];
    int front;
    int rear;
}SeQueue;

void InitQueue(SeQueue *sq){
    sq->front=sq->rear=0;
}

bool isEmpty(SeQueue *sq){
    if(sq->rear==sq->front){
        printf("顺序队列为空\n");return true;
    }

    return false;
}

bool isFull(SeQueue *sq){
    if((sq->rear+1)%MaxQueueSize==sq->front){
        printf("顺序队列为满\n");return true;
    }

    return false;
}


void EnQueue(SeQueue *sq,int x)
{
    if(isFull(sq)==false)
    {
        sq->data[sq->rear]=x;
        (sq->rear) =(sq->rear+1)%MaxQueueSize;
    }
}

void DeQueue(SeQueue *sq)
{
    if(!isEmpty(sq)){
        printf("删除的元素是:%d\n",sq->data[sq->front]);
        sq->front = (sq->front+1)%MaxQueueSize;
    }
}

int getHead(SeQueue *sq)
{
    if(!isEmpty(sq))
    {
        return sq->data[sq->front];
    }
}
int main(void)
{

    SeQueue sq;
    InitQueue(&sq);
    // EnQueue(&sq,1121);
    // EnQueue(&sq,121);
    // EnQueue(&sq,1121);
    // EnQueue(&sq,1121);
    // EnQueue(&sq,11121);
     DeQueue(&sq);
    // printf("%d\n",getHead(&sq));

    system("pause");
    return 0;
}
posted @ 2021-09-24 16:08  传说中的旅行者  阅读(26)  评论(0编辑  收藏  举报