⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 operate_lqueue.h

📁 数据结构课程设计报告,虽然好多地方都有
💻 H
字号:
/*=====================================*/
/*定义结构体                           */
/*=====================================*/
typedef struct Lqueue{
	int data;
	struct Lqueue *next;
}L_queue;


/*=====================================*/
/*定义指向L_queue的结构体              */
/*=====================================*/
typedef struct
{
	L_queue *front, *rear;
}Queue_p;


/*=====================================*/
/*建立front/rear指针,空表             */
/*=====================================*/
void Emplty_Queue(Queue_p *q_p, L_queue *l_q)
{
	q_p->front=q_p->rear=l_q;
}


/*=====================================*/
/*入队列                               */
/*=====================================*/
void Insert_Queue(Queue_p *q_p,int scan_max)
{
	int i, scan_x;
	L_queue *temp;
	temp=(L_queue *)malloc(sizeof(L_queue));
	if(temp!=NULL)
	{
		for(i=0; i<scan_max; i++)
		{
			printf("元素%d=",i+1);
			scanf("%d",&scan_x);
			temp->data=scan_x;
			temp->next=NULL;
			/*修改尾指针和加入新节点    */
			q_p->rear->next=temp;
			q_p->rear=temp;
			temp=(L_queue *)malloc(sizeof(L_queue));
		}
	}
	else
		printf("申请空间错误\n");
}




/*=====================================*/
/*显示队列                             */
/*=====================================*/
void Out_Queue(Queue_p *q_p)
{
	L_queue *s=q_p->front->next;
	if(s==NULL)
		printf("空队列\n");
	else
	{
		while(s!=NULL)
		{

			printf("%d",s->data);
			s=s->next;
		}
		printf("\n");
	}
}



/*=====================================*/
/*出队列                               */
/*=====================================*/
void Push_Queue(Queue_p *q_p)
{
	int x;
	L_queue *temp;
	L_queue *s=q_p->front;
	if(s->next!=NULL)
	{
		/*保存并释放出队列节点地址,修改头节点          */
		x=s->next->data;
		temp=s->next;
		s->next=s->next->next;
		free(temp);
		printf("出队列的元素为[%d]\n",x);
	}
	else
		printf("出错\n");

}











	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -