队列1

#ifndef LINK_QUEUE_H_ 
#define LINK_QUEUE_H_
/****数据机构定义****/
#define ElemType char
struct Node;
typedef struct Node Node;
typedef struct Node *pNode;
struct Node
{
ElemType elem;
pNode pNext;
};


/****将链接队列再封装一次*****/
struct LinkQueue;
typedef struct LinkQueue LinkQueue;
typedef struct LinkQueue *pLinkQueue;
struct LinkQueue
{
pNode pFront;    /***头指针***/
pNode pRear;     /***尾指针***/
};




/****函数定义********/
pLinkQueue CreateEmptyQueue();
bool IsEmptyQueue(pLinkQueue p);
bool EnLinkQueue(pLinkQueue p, ElemType elem);
bool DelLinkQueue(pLinkQueue p);
ElemType GetFrontElem(pLinkQueue p);

#endif



、、、、、、、、、、、、、、、、源文件

#include <stdio.h>
#include <malloc.h>
#include "LinkQueue.h"


pLinkQueue CreateEmptyQueue()
{
pLinkQueue p = NULL;
p = (pLinkQueue)malloc(sizeof(LinkQueue));
if(p)
{
p->pFront = NULL;
p->pRear = NULL;
}
return (p);
}


bool IsEmptyQueue(pLinkQueue p)
{
return (p->pFront == NULL);
}


bool EnLinkQueue(pLinkQueue p, ElemType elem)
{
pNode pTemp = NULL;
pTemp = (pNode)malloc(sizeof(Node));
if(pTemp == NULL)
return (false);
//
pTemp->elem = elem;
pTemp->pNext = NULL;
//
if (p->pFront == NULL)
{
p->pFront = pTemp;
p->pRear = pTemp;
}
else
{
p->pRear->pNext = pTemp;
p->pRear = pTemp;
}
return (true);


}


bool DelLinkQueue(pLinkQueue p)
{
pNode pTemp = NULL;
if (p->pFront == NULL)
return (false);
//
pTemp = p->pFront;
p->pFront = p->pFront->pNext;
free(pTemp);
return (true);
}


ElemType GetFrontElem(pLinkQueue p)
{
return (p->pFront->elem);
}



、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、main测试文件


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸿蒙使小强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值