Chain queue 13

#include<stdio.h>
#include<stdlib.h>
struct linklist
{
	int a;
	struct linklist* next;

};
struct qnode
{
	struct linklist* front;
	struct linklist* rear;
};

int main(void)
{
	struct qnode Q;
	struct linklist* p;
	int data;
	char temp;
	Q.front = (struct linklist*)malloc(sizeof(struct linklist));
	if (!Q.front)
		return -1;
	Q.rear = Q.front;
	/////////////////////////////////////////////////////////
	//入队
	while (scanf_s("%d", &data) == 1)
	{
		temp=getchar();
		p = (struct linklist*)malloc(sizeof(struct linklist));
		if (!p)
		return -1;
		p->a = data;
		Q.rear->next= p;
		Q.rear = p;
	}
	Q.rear->next = NULL;
	/////////////////////////////////////////////////////////////
	//取队头元素
	if (Q.front != Q.rear)
	{
		printf("队头元素为%d\n",Q.front->next->a);
	}
	/////////////////////////////////////////////////////////////
	//出队
	while (Q.front->next!=NULL )
	{
		if (Q.front == Q.rear)
			break;
		printf("--%d\n", Q.front->next->a);
		Q.front->next = Q.front->next->next;
	}
	Q.rear = Q.front;
	return 0;
}
Published 25 original articles · won praise 0 · Views 83

Guess you like

Origin blog.csdn.net/qq_45812941/article/details/104413566