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");