//链式队列数据结构定义
typedef struct QueueStruct
{
char value;
struct QueueStruct *next;
} queueStruct;
void QueueInit(); //brief 链式队列初始化
void Enqueue(char value); //入队操作 传入一个字符串
char Dequeue(); //出队操作 返回出队的字符串
unsigned char IsEmpty(); //判断是否队空 1——队空 0——队里有数据
void PrintQueue(); //打印队列
#include "queue.h"
#include "stdio.h"
#include "malloc.h"
queueStruct *head, *tail;
//brief 链式队列初始化
void QueueInit()
{
head = tail = (queueStruct *)malloc(sizeof(queueStruct));
head->next = NULL;
tail->next = NULL;
}
//入队操作 传入一个字符串
void Enqueue(char value)
{
queueStruct *q = (queueStruct *)malloc(sizeof(queueStruct));
q->value = value;
q->next = NULL;
if ((head->next == NULL) && (tail->next == NULL))
{
tail->next = q;
}
head->next = q;
head = head->next;
}
//出队操作 返回出队的字符串
char Dequeue()
{
char str;
str = tail->next->value;
tail->next = tail->next->next;
return str;
}
//判断是否队空 1——队空 0——队里有数据
unsigned char IsEmpty()
{
return (tail->next == NULL) ? 1 : 0;
}
//打印队列内容
void PrintQueue()
{
queueStruct *q = tail->next;
while (q != NULL)
{
puts(q->value);
q = q->next;
printf("\n");
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)