/************************************
* 链队列的基本操作(C语言源代码)
* 2021/8/19
*************************************/
#include<stdio.h>
#include<stdlib.h>
typedef struct QNode
{
int data;
struct QNode * next;
}QNode,*QueuePtr;
typedef struct
{
QueuePtr front;
QueuePtr rear; /*每个指针都是指向上述QNode结点类型的指针*/
}LinkQueue;
/*①链队列的初始化*/
int Init_LinkQueue(LinkQueue*q)
{
q->rear = q->front = (LinkQueue*)malloc(sizeof(LinkQueue));
if (!q->front)
return -1;
else
{
q->front->next = NULL;
return 1;
}
}
/*②链队列的入队*/
int Enter_LinkQueue(LinkQueue* q,int e)
{
QueuePtr p = (QueuePtr)malloc(sizeof(QNode));
if (!p)
return -1;
else
{
p->data = e;
p->next = NULL;
q->rear->next = p;
q->rear = p;
return 1;
}
}
/*③取队头元素*/
int Get_Head(LinkQueue* q)
{
if (q->front == q->rear)
return -1;
else
{
return q->front->next->data;
}
}
/*④链队列的出队*/
int Out_LinkQueue(LinkQueue* q, int* e)
{
if (q->front
链队列的基本操作(C语言源代码)
最新推荐文章于 2024-05-29 23:05:26 发布
本文详细介绍了如何使用C语言实现链队列的基本操作,包括队列的初始化、入队、出队、查看队首元素以及判断队列是否为空等关键函数的编写和实现过程。

最低0.47元/天 解锁文章
948

被折叠的 条评论
为什么被折叠?



