杨辉三角的链队列解法(链队列操作头文件)

//LinkQueue.h
#include<stdlib.h>
#define TRUE 1
#define FALSE 0
#define datatype int

struct node
{
	datatype data;
	struct node *next;
};
typedef struct node LinkListNode;

typedef struct
{
	LinkListNode *front;
	LinkListNode *rear;
}LinkQueue;

//LinkQueue *lq;

//初始化
void Initialize_LinkQueue(LinkQueue *lq)
{
	lq->front=(LinkListNode *)malloc(sizeof(LinkListNode));
	lq->front->next=NULL;
	lq->rear=lq->front;
}

//判断队空
int IsEmpty_LinkQueue(LinkQueue *lq)
{
	if(lq->front==lq->rear)
		return TRUE;
	else
		return FALSE;
}

//取队头结点值
int Get_LinkQueue(LinkQueue *lq, datatype *x)
{
	if(IsEmpty_LinkQueue(lq))
		return FALSE;
	else
	{
		x=&(lq->front->next->data);
		return TRUE;
	}
}

//入队
void Insert_LinkQueue(LinkQueue *lq, datatype x)
{
	lq->rear->next=(LinkListNode *)malloc(sizeof(LinkListNode));
	lq->rear=lq->rear->next;
	lq->rear->data=x;
	lq->rear->next=NULL;
}

//出队
LinkListNode *Delete_LinkQueue(LinkQueue *lq)
{
	LinkListNode *s;
	if(IsEmpty_LinkQueue(lq))
		return NULL;
	else
	{
		s=lq->front->next;
		if(s->next==NULL)
		{
			lq->front->next=NULL;
			lq->rear=lq->front;
		}
		else
		{
			lq->front->next=s->next;
		}
		return s;
	}
}

    原文作者:杨辉三角问题
    原文地址: https://blog.csdn.net/u013632190/article/details/46251717
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞