第八周笔记

链队列

#include
#include
typedef int QElemType;
typedef struct QNode{
	QElemType data;
	struct QNode *next;
}QNode,*QueuePtr;
typedef struct LinkQueue{
	QueuePtr front;
	QueuePtr rear;
}LinkQueue;
void initQueue(LinkQueue &Q)
{
	Q.front=Q.rear=(QNode *)malloc(sizeof(QNode));
	Q.rear->next=NULL;
}
void enQueue(LinkQueue &Q,QElemType e)
{
	Q.rear->next=(QNode *)malloc(sizeof(QNode));
	Q.rear=Q.rear->next;
	Q.rear->data=e;
	Q.rear->next=NULL;
}
void deQueue(LinkQueue &Q,QElemType &e)
{
	if(Q.front!=Q.rear)
	{
		QNode *p=Q.front->next;
		e=p->data;
		Q.front->next=p->next;
		free(p);
	}else{
		printf("队空,出队失败!");
		exit(0);
	}
}
int isEmpty(LinkQueue Q)
{
	if(Q.front==Q.rear)
		return 1;
	else
		return 0;
}
int main()
{
	LinkQueue Q;
	initQueue(Q);
	enQueue(Q,1);
	enQueue(Q,2);
	enQueue(Q,3);
	QElemType e;
	deQueue(Q,e);
	printf("%d\n",isEmpty(Q));
}

 第八周笔记_第1张图片

你可能感兴趣的:(第八周笔记)