#include <stdio.h>
#define T 1
#define F 0
#define MAXSIZE 20
typedef int Status;
typedef int ElemType;
typedef struct
{
ElemType data[MAXSIZE];
int front;
int rear;
}SqQueue;
Status initQueue(SqQueue* Q);
Status enterQueue(SqQueue* Q, ElemType e);
Status deleteQueue(SqQueue* Q, ElemType* e);
int getLength(SqQueue Q);
int main()
{
int i = 0, num = 0;
SqQueue Q;
initQueue(&Q);
for (; i < 10; i++)
{
enterQueue(&Q, i);
}
printf("%d\n", getLength(Q));
for (; i > 0; i--)
{
deleteQueue(&Q, &num);
printf("%d\n", num);
}
printf("%d\n", getLength(Q));
return 0;
}
Status initQueue(SqQueue* Q)
{
Q->front = 0;
Q->rear = 0;
return T;
}
Status enterQueue(SqQueue* Q, ElemType e)
{
if ((Q->rear + 1)%MAXSIZE == Q->front)//队列满的判断
{
return F;
}
Q->data[Q->rear] = e;
Q->rear = (Q->rear + 1)%MAXSIZE;//将rear指针向后移一位置
队列的顺序存储结构(c语言实现)
最新推荐文章于 2024-07-25 17:00:18 发布