第二小题在下图画圈的地方。求大神写一下。谢谢!C语言也可以!最好是算法!
请大神看清楚,我要的是过程,算法代码或者C语言代码。其他的什么示意图之类的我可不采纳。看都不看清楚?
插入、删除节点而已,对位置还没有要求。
追问我要的是算法代码或者C语言代码,不是这种示意图。谢谢。
本回答被网友采纳你是来帮忙的还是捣乱的???我广西人。
追答结构如下:
typedef int ElemType;
typedef struct NodeType{
ElemType data;
NodeType *next;
}QNode,*QPtr;
typedef struct{
QPtr rear;
int size;
}Queue;
初始化
Status InitQueue(Queue& q)
{
q.rear=NULL;
q.size=0;
return OK;
}
入队列:
Status EnQueue(Queue& q,ElemType e)
{
QPtr p;
p=new QNode;
if(!p) return FALSE;
p->data=e;
if(!q.rear){
q.rear=p;
p->next=q.rear;
}
else{
p->next=q.rear->next;
q.rear->next=p;
q.rear=p;
}
q.size++;
return OK;
}
出队列:
Status DeQueue(Queue& q,ElemType& e)
{
QPtr p;
if(q.size==0)return FALSE;
if(q.size==1){
p=q.rear;
e=p->data;
q.rear=NULL;
delete p;
}
else{
p=q.rear->next;
e=p->data;
q.rear->next=p->next;
delete p;
}
q.size--;
return OK;
}