#include <cstdio>
#include <stdlib.h>
typedef int QueueElementType;
typedef struct Node
{
QueueElementType data;
struct Node *next;
} LinkQueueNode; //定义队列结点
typedef struct
{
LinkQueueNode *front; //队列头结点指针
LinkQueueNode *rear; //队列尾结点指针
} LinkQueue; //定义队列
int InitQueue(LinkQueue *Q ) //初始化队列
{
Q->front=(LinkQueueNode * )malloc(sizeof(LinkQueueNode));
if(Q->front != NULL)
{
Q->rear=Q->front;
Q->front->next=NULL;
return 1;
}
else return 0;//溢出
}
int EnterQueue(LinkQueue *Q,QueueElementType x) //元素x入链队列 尾插法
{
LinkQueueNode * newnode;
newnode=(LinkQueueNode *) malloc(sizeof(LinkQueueNode));
if(newnode != NULL)
{
newnode->data=x;
newnode->next=NULL;
Q->rear->next=newnode;
Q->rear=newnode;
return 1;
}
else return 0;
}
int GetHead(LinkQueue *Q,QueueElementType *x)
{
if(Q->front
数据结构 链队列的建立及其函数 C语言版
最新推荐文章于 2022-08-02 17:35:56 发布
