以下运算实现在顺序栈上的退栈,请在______处用适当的语句予以填充。 int Pop(SqStackTp*sq,DataT
以下运算实现在顺序栈上的退栈,请在______处用适当的语句予以填充。
int Pop(SqStackTp*sq,DataType*x)
{ if(sq—>top==0){error("下溢");return(0);)
else{*x=______;
______;
return(1);
}
}
以下运算实现在顺序栈上的退栈,请在______处用适当的语句予以填充。
int Pop(SqStackTp*sq,DataType*x)
{ if(sq—>top==0){error("下溢");return(0);)
else{*x=______;
______;
return(1);
}
}
以下运算实现在链栈上的退栈,请在______处用适当的语句予以填充。
int Pop(LStackTp*is,DataType*x)
{ LStackTp*P;
if(1s!=NULL)
{ p=ls;
*x=______;
ls=ls—>next;
______;
return(1);
} else return(0);
}
以下运算实现在链栈上的初始化,请在______处用适当的语句予以填充。
void InitStack(LStackTp*ls){______;)
以下运算实现在链栈上的进栈,请在______处用适当的语句予以填充。
void Push(LStackTp*ls,DataType x)
{ LStackTp*p;p=malloc(sizeof(LStackTp));
______;
p—>next=ls;
______;
}
以下运算实现在循环队上判队空,请在______处用适当的语句予以填充。
int EmptyCycQueue(CycqcleueTp sq)
{ if(______)retum(1);
else return(0);
}
以下运算实现在链队上的入队列,请在______处用适当的语句予以填充。
void EnQueue(QueptrTp*lq,DataType x)
{ LqueueTp*P;
p=(LqueueTp*)malloc(sizeof(LqueueTp));
______=x;
p—>next=NULL;
(1q—>rear)—>next=______;
______;
}
以下运算实现在循环队上的入队列,请在______处用适当的语句予以填充。
int EnCycQueue(CycquetaeTp*sq,DataType x)
{ if((sq—>rear+1)%maxsize==______)
{error("队满");return(0);)
else{______;
______;
return(1);
}
}
A.top增1
B.top减1
C.top不变
D.top置0
A.因链式栈本身没有容量限制,故在用户内存空间的范围内不会出现栈满的情况
B.因顺序栈本身没有容量限制,故在用户内存空间的范围内不会出现栈满的情况
C.对于链式栈而言,在栈满状态下,如果再进行入栈操作,则会发生上溢
D.对于顺序栈而言,在栈满状态下,如果再进行入栈操作,则会发生下溢