队列结构
1,队列的定义
所谓“队列”,就是指一种先进先出的数据存储的方式。如图所示:
2,队列的实现
头文件
#include<stdio.h>
全局变量
int front=-1;
int rear=-1;
int size=10;
函数接口
- 初始化队列
int *Init_queue(int size)
{
int *queue=(int *)malloc(sizeof(int)*size);
return queue;
}
- 判断队列是否为空
int Is_queue(int *queue)
{
return front==rear;
}
- 判断队列是否为满
int Is_full(int *queue)
{
return rear>=size;
}
- 入队
void Push_queue(int *queue,int data)
{
if(Is_full(queue))
{
printf("Queue is full!\n");
return;
}
queue[++rear]=data;
}
- 出队
int Del_queue(int *queue)
{
int temp=queue[front];
if(Is_empty(queue))
{
printf("queue is empty!\n");
return -1;
}
else
{
queue[front]=0;
front++;
}
return temp;
}
- 显示队列元素
void Show_queue(int *queue)
{
if(Is_empty(queue))
printf("queue is empty!\n");
for(int i=0;i<size;++i)
{
printf("%d ",queue[i]);
}
putchar(10);
}