c语言队列操作
具体如何使用队列操作getFirstaddLastisFull等函数,是不是要includequeue.h??...
具体如何使用队列操作
getFirst
addLast
isFull
等函数,是不是要include queue.h
?? 展开
getFirst
addLast
isFull
等函数,是不是要include queue.h
?? 展开
展开全部
pq->rear->next
=
pnew这个代码从队列的尾部增加新节点,
然后pq->rear
=
pnew更新队列尾部指针。队列的数据结构形式就是由一个头front指针,一个尾rear指针来表征,items的设计是用空间换时间,涉及队列大小的操作会非常方便。
队列的特征是先进先出,你给出的链式实现,其实就跟一个链表一样,链表的添加删除如果能理解了,队列只是链表的元素增加/删除
按先进先出特点的一种实现。
但对于队列来说,实现方式不是重点,先进先出的性质才是重点,这在实际应用中很多,比如排队叫号。
=
pnew这个代码从队列的尾部增加新节点,
然后pq->rear
=
pnew更新队列尾部指针。队列的数据结构形式就是由一个头front指针,一个尾rear指针来表征,items的设计是用空间换时间,涉及队列大小的操作会非常方便。
队列的特征是先进先出,你给出的链式实现,其实就跟一个链表一样,链表的添加删除如果能理解了,队列只是链表的元素增加/删除
按先进先出特点的一种实现。
但对于队列来说,实现方式不是重点,先进先出的性质才是重点,这在实际应用中很多,比如排队叫号。
展开全部
先定义队列元素的类型,例如:
typedef struct
{ datatype data[maxsize]; //队列的存储空间 datatype是数据类型,可以定义为int、char等,自己定义
int front,rear; //队头,队尾指针
}squeue,*squlink;
再定义你说的那些函数,之后就可以使用这些函数了,比如可以这样定义:
int addLast(squlink Q,datatype e) //元素e进队
{ if((Q->rear+1)%maxsize==Q->front){ ERROR(Q); return(1);}//队满
else { Q->rear=(Q->rear+1)%maxsize;//maxsize是队列的长度
Q->data[Q->rear]=e; return(0);} }
datatype getFirst(squlink Q) //出队 datatype是数据类型
{ if(EmptyQueue(Q)) return(NULL); //队空
else {Q->front=(Q->front+1)%maxsize;
return(Q->data[Q->front]);} }
int isFull(squlink Q)
{
if((Q->rear+1)%maxsize==Q->front){ ERROR(Q); return(1);//队满
else return 0;
}
typedef struct
{ datatype data[maxsize]; //队列的存储空间 datatype是数据类型,可以定义为int、char等,自己定义
int front,rear; //队头,队尾指针
}squeue,*squlink;
再定义你说的那些函数,之后就可以使用这些函数了,比如可以这样定义:
int addLast(squlink Q,datatype e) //元素e进队
{ if((Q->rear+1)%maxsize==Q->front){ ERROR(Q); return(1);}//队满
else { Q->rear=(Q->rear+1)%maxsize;//maxsize是队列的长度
Q->data[Q->rear]=e; return(0);} }
datatype getFirst(squlink Q) //出队 datatype是数据类型
{ if(EmptyQueue(Q)) return(NULL); //队空
else {Q->front=(Q->front+1)%maxsize;
return(Q->data[Q->front]);} }
int isFull(squlink Q)
{
if((Q->rear+1)%maxsize==Q->front){ ERROR(Q); return(1);//队满
else return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据结构上的 函数自己写 ,呵呵 我也在学这个呢 好好学吧,以后会用到的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没见过这个函数啊 ,你是不是在学数据结构啊 这个是要你自己定义的啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询