【单选题】pop()的功能是?()
A.删除列表中第一个元素
B.返回并删除列表中第一个元素
C.删除列表中最后一个元素
D.返回并删除列表中的最后一个元素
A.删除列表中第一个元素
B.返回并删除列表中第一个元素
C.删除列表中最后一个元素
D.返回并删除列表中的最后一个元素
第1题
A、形状和文字
B、指示箭头
C、手绘动画
D、特殊效果
第2题
【说明】
【算法4-1】的功能是用来检查文本文件中的圆括号是否匹配。若文件中存在圆括号而没有对应的左括号或者右括号,则给出相应的提示信息,如图1-18所示。
在【算法4-1】中,slack为一整数栈。算法中各函数的说明如表1-11所示。
【算法4-1】
将栈stack置空,置EOF为false
Ch<-nextch();
while(not EOF)
k←kind(ch);
if (k ==(1) ) {
push( (2) );
push( (3) );}
else if( k ==(4) )
if(not empty()){
pop();
pop();)
else{
显示错误信息(缺少对应左括号或右括号):
显示行号row:显示列号col:)
End if
End if
Ch<-nextch();
end while
if(not empty())
显示错误信息(缺少对应左括号或右括号):
While(not empty()){
row<-pop();
col<-pop():
显示行号row:显示列号col;)
End while
End if
为了识别更多种类的括号,对【算法4-1】加以改进后得到【算法4-2】。【算法4-2】能够识别圆括号、方括号和花括号(不同类型的括号不能互相匹配)。改进后,函数kind(charch)的参数及其对应的返回值如表1-12所示。
【算法4-2】
将栈stack置空,置EOF为false
Ch<-nextch();
while(not EOF){
k<- kind(ch);
if(k > 0)
if(判断条件1){
push( (5) );
push( (6) );
push( (7) );}
else if(判断条件2 and判断条件3){
pop();
pop();
pop();}
else {
显示错误信息(缺少对应左括号或右括号);
显示行号row;显示列号col;)
end if
end if
ch <- nextch();)
end while
if(not empty()){
显示错误信息(缺少对应左括号或右括号);
While(not empty()){
Pop();
row <- pop():
col <- pop();
显示行号row;显示列号col;))
end while
end if
请将【算法4-1】和【算法4-2】中,(1)~(7)空缺处的内容补充完整。
第3题
class ArrayStack:public Stack{ char*P; int maxSizc; int top; public: ArravStack(int s) { top=0; maxSize=s: //*********found********* P=______; } ~ArrayStack { //*********found********* _______; } void push(char c) } if(top==maxSize){ cerr<<”Overflow! \n”: return; } //*********found********* _______; top++: } char pop { if(top==0){ cerr<<”Underflow!、n”; return‘\0’; } Top--; //*********found********* ______; } }; void f(Stack&sRef) { char ch[]={‘a’,‘b’,‘c’}; cout<<ch[0]<<”,”<<ch[1]<<”,”<<ch[2]<<endl; sRef.push(oh[0]);sRef.push(ch[1]);sRef.push(ch[2]); cout<<sRef.poP<<”,”; cout<<sRef.poP<<”,”; cout<<sRef.poP<<endl; } int main { ArrayStack as(10); f(as): return 0: }
第4题
【说明】
某企业局域网内部基于Windows Server 2003操作系统提供的POP3服务和SMTP服务,架构了一台电子邮件服务器(IP地址为192.168.20.9),用于满足企业45名员工的公文发送和工作交流等需求。该邮件服务器的用户邮件各自存储在D:\email(磁盘空间大小为400GB)目录下以用户账户命名的文件夹中。“POP3服务”管理界面如图7-13所示。
以下(1)是Windows Server 2003的Internet信息服务(IIS)管理器新增的服务功能。在Windows Server 2003操作系统中,邮件服务器中通过域来提供邮件服务。通常,域用户信息存储于(2)中。
(1) A.WWW服务 B.SMTP服务 C.FFP服务 D.POP3服务
(2) A.本地数据库 B.活动目录 C.SAM数据库 D.域控制器
第5题
阅读以下说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
函数MultibaseOutput(long n,int B)的功能是:将一个无符号十进制整数n转换成B(2≤B≤16)进制数并输出。该函数先将转换过程中得到的各位数字入栈,转换结束后再把B进制数从栈中输出。有关栈操作的诸函数功能见相应函数中的注释。C代码中的符号常量及栈的类型定义如下:
#define MAXSIZE 32
typedef struct{
int *elem;/*栈的存储区*/
int max; /*栈的容量,即栈中最多能存放的元素个数*/
int top;/*栈顶指针*/
}Stack;
【代码】
int InitStack(Stack *S,int n)/*创建容量为n的空栈*/
{S->elem=(int*)malloc(n *sizeof(int));
if(S->elem==NULL)return-1;
S->max=n; (1) =0;return 0;
}
int Push (Stack *s,int item)/*将整数item压入栈顶*/
{if(S->top==S->max){printf(″Stack is full!\n″);return-1;}
(2) =item;return 0;
}
int StackEmpty(Stack S){return(! S.top)?1∶0;}/*判断栈是否为空*/
int Pop(Stack *S)/*栈顶元素出栈*/
{if(! S->top){printf(″Pop an empty stack!\n″);return -1;}
return (3) ;
}
void MultibaseOutput(long n,int B)
{int m;Stack S;
if(InitStack(&S,MAXSIZE)){printf(″Failure!\n″);return;}
do {
if(Push(&S, (4) )){printf(″Failure!\n″);return;}
n= (5) ;
}while(n !=0);
while(! StackEmpty(S)){/*输出B进制的数*/
m=Pop(& S);
if(m<10)printf(″%d″,m);/*小于10,输出数字*/
else printf(″%c″,m+55);/*大于或等于10,输出相应的字符*/
}
printf(″\n″);
}
第6题
阅读以下说明和c语言函数。
[说明]
函数bool Del_elem(STACK*s,char para_ch)的功能是:删除栈*s中与para ch之值相等且最接近栈顶的元素(字符),若栈中不存在该元素,则函数返回 FALSE,否则返回 TRUE。其中,STACK是栈的类型名。
函数Del_elem实现上述功能的方法是:利用栈的基本操作,先将栈*s中所有比 para_ch之值更接近栈顶的元素暂时存放在临时工作栈s_bak中,使得与para_ch之值相等的元素成为栈顶元素,此时执行出栈操作,即从栈中删除与Para ch之值相等的元素,最后再将s bak中的元素依次存回栈*s。
在函数Del_elem中必须使用栈的基本操作进行栈上的运算,实现栈的基本操作的函数原型说明如下:
void InkStack(STACK*S):初始化栈。
void Push(STACK*S,char e):将一个字符压栈,栈中元素数目增1。
void Pop(STACK*S):栈顶元素出栈,栈中元素数目减1。
char Top(STACKS):返回非空栈的栈顶元素值,栈中元素数目不变。
bool IsEmpty(STACK S):若S是空栈,则返回TRUE;否则返回FALSE。
bool类型定义如下:
typedef enum{FALSE=0,TRUE=1)bool;
[C语言函数]
bool Del_elem(STACK*s,char para_ch)
{
STACK s_bgk; /*定义临时工作栈s_bak,*/
char ch;
bool tag=FALSE;
(1) /*初始化临时工作栈s_bak*/
/*,将栈*s中所有比para_ch更接近栈顶的元素暂时存放在临时工作栈s bak中*/
while(!IsEmpty(*s)){
ch=(2); /*取栈顶元素*/
Pop(s);
if(ch=para_ch){
tag=TRUE;
break;
}
(3);
}
/*将暂存于临时工作栈s_bak中的元素存回栈*s*/
while((4))
ch=Top(s_bak);
(5)
Push(s,ch)
}
return tag;
}
【我提交的答案】:
【参考答案分析】:
(1)InitStack(&s_bak)(2)Top(*s)(3)Push(&s_bak,ch)(4)!IsEmpty(s_bak),或IsEmpty(s_ak)==FALSE(5)Pop(&s_bak) 解析:本题考查的是C语言的函数调用和参数传递问题。
C语言采用传值调用方式,即将实际参数的值传递给形式参数,因此,实际参数一般是与形式参数类型相同的变量或表达式。但是,若形式参数为指针,则调用语句中的实参应将一个变量的地址传递给形参。
函数bool Del_elem(STACK*s,char para_ch)的功能是删除栈*s中与para_ch之值相等且最接近栈顶的元素(字符)。因此,利用栈的基本操作,先将栈*s中所有比para ch之值更接近栈顶的元素暂时存放在临时工作栈s_bak中,使得与para_ch之值相等的元素成为栈顶元素,此时执行出栈操作,即从栈中删除与para_ch之值相等的元素,最后再将s bak中的元素依次存回栈*s。
从初始化栈的函数原型“void lnitStack(STACK*S)”可知,形参是一个指针变量,那么实参应该是对STACK类型的变量取地址,因此空(1)处应填入“initStack(&s bak)”。
根据出栈操作的函数原型“void Pop(STACK*S)”,出栈时栈中元素数目减1但调用环境不能获得栈顶元素,因此需要首先调用函数Top()获取栈顶元素的值,然后调用Pop()从栈中删除栈顶元素。因此空(2)应填入“Top(*s)”。临时工作栈需要保存从栈*s弹出的元素,因此,参考压栈操作的函数原型“void Push(STACK*S,chare)”,空(3)应填入“Push(&s bak,ch)”。
从栈中取元素时,应首先判断是否为空栈,这是使用栈结构的一项基本常识。参考函数原型“bool IsEmpty(STACK S)”和bool类型的定义,空(4)应填入“!IsEmpty(s_bak)”。同时,通过Top和Pop操作从临时工作栈s bak中取出元素,再用Push操作将该元素压入栈*s中,来实现将暂存于临时工作栈s bak中的元素存回栈*s,因此,空(5)填入“Pop(&s_bak)”。
为什么答案中有&符号?
第7题
B.NFVI通过Vn-Nf接口为VNF提供执行环境
C.VIM通过Nf-Vi接口管理NFVI基础设施中的资源
D.NFVI-PoP是指网络功能以VNF虚拟方式部署的环境
第9题
B.状态码:status
C.响应内容长度:length
D.请求时间:requestime
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!