#include <stdio.h>
#include <malloc.h>
#define Queue_size 100 //定义队列最大长度,这里定义了100
#define True 1
#define false 0
#define Queuetype char
//#define Queue
struct SQueue
{
int elem[Queue_size];//队列元素
int front;
int rear;
}Queue;
void initQueue(SQueue) //初始化
{
Queue.front = 0;
Queue.rear = Queue.front;
printf("初始化成功");
}
int enterQueue(SQueue)//入队
{
if ((Queue.rear + 1) % Queue_size == Queue.front)
return false;
Queue.rear = (Queue.rear + 1) % Queue_size;
return True;
}
void deleteQueue(SQueue )//出队
{
Queue.front = (Queue.front + 1) % Queue_size;
}
int howQueue(SQueue ) //求队列元素个数
{
int length;
length= (Queue.rear - Queue.front + Queue_size) % Queue_size;//保证为正数
return length;
}
int stuQueue(SQueue )//判断是否为空,为满
{
if (Queue.rear == Queue.front)
{
printf("队列为空");
}
else if ((Queue.rear + 1) % Queue_size == Queue.front)
{
printf("队列为满");
}
else
{
printf("队列非空,非满");
}
return True;
}
//调试
int main()
{
initQueue(Queue);
printf("%p,%d,%d\n",Queue.elem,Queue.front,Queue.rear);
enterQueue(Queue);
printf("%p,%d,%d\n", Queue.elem, Queue.front, Queue.rear);
deleteQueue(Queue);
printf("%p,%d,%d\n", Queue.elem, Queue.front, Queue.rear);
howQueue(Queue);
printf("%p,%d,%d\n", Queue.elem, Queue.front, Queue.rear);
stuQueue(Queue);
}
}
return True;
队列的基本功能实现(C语言)
最新推荐文章于 2022-02-26 21:27:13 发布