1.编写queue.h
#include<stdio.h>
#include<stdlib.h>
#define
n 100
//定义队列最大多少个
datatype
char
//定义队列的数据类型
struct
queue
{
data[n];//保存数据的数组
int
front;
//数据的开头
rear;
//数据的结尾
};
//给已经有的类型简化一下
typedef
q;
//初始化队列
void
init(q
* myqueue);
//判断是否为空,1代表为空,0代表不为空
isempty(q
//入队,吃进去
enqueue(q
* myqueue,
num);
//出队,拉屎,返回值就是拉的
dequeue(q
//打印队列所有的元素
printfq(q
//获取开头的一个节点
gethead(q
queue.c
#include
"queue.h"
/*初始化队列*/
*myqueue)
//代表为空,首尾都为0
myqueue->front
= myqueue->rear
= 0;
}
//判断为空
* myqueue)
if (myqueue->front
== myqueue->rear)
return 1;
else
return 0;
/*入队的过程*/
num)
if (myqueue->rear
== n)
printf("吃东西失败");
return;
//赋值
myqueue->data[myqueue->rear]
= num;
//增加一个
myqueue->rear
+= 1;
/*出队*/
return -1;
return
myqueue->data[myqueue->front
- 1];
void
printf("\n");
printf("\n你的肠胃为空");
for (int
i =
myqueue->front;
i <
myqueue->rear;i++)
{
//显示你的肠胃
printf("%c",
myqueue->data[i]);
}
printf("\n肠胃为空,无法找到你要最先拉的屎");
//返回第一个节点
myqueue->data[myqueue->front];
main.c
<stdio.h>
<stdlib.h>
main()
q
q1;//创建一个结构体变量
init(&q1);//初始化
enqueue(&q1,
'a');
printfq(&q1);
'b');
'c');
'd');
'e');
dequeue(&q1);
system("pause");