// test_demo.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include "stdio.h"
#include "windows.h"
#define QueueSize 100 /*假定预分配的队列空间最多为100个元素*/
typedef char DataType ; /*假定队列元素的数据类型为字符*/
typedef struct node{
DataType data;
struct node *next;
}QueueNode;
typedef struct{
QueueNode *front; /*头指针*/
QueueNode *rear;
}LinkQueue;
/* 置队列空*/
void Initial(LinkQueue *Q)
/*将顺序队列置空*/
{
Q->front=Q->rear=NULL;
}
/*判队列空*/
int IsEmpty(LinkQueue *Q)
{
return Q->front==NULL&&Q->rear==NULL;
}
/*进队列*/
void Push(LinkQueue *Q,DataType x)
{
/*将元素x插入链队列尾部*/
QueueNode *p=(QueueNode *)malloc(sizeof(QueueNode));/*申请新结点*/
p->data=x;
p->next=NULL;
if(IsEmpty(Q))
Q->front=Q->rear=p; /*将x插入空队列*/
else
{ /*x插入非空队列的尾*/
Q->rear->next=p; /*p链到原队尾结点后*/
Q->rear=p; /*队尾指针指向新的尾*/
}
}
/*出队列*/
DataType Pop(LinkQu
链队列的入队、出队
最新推荐文章于 2022-12-25 18:39:21 发布
本文详细介绍了链队列的基本概念,并通过实例解析了如何进行入队和出队操作,内容来源于严蔚敏版数据结构教材的配套实现程序。
摘要由CSDN通过智能技术生成