搜题
网友您好,请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
提问人:网友xoxoonline 发布时间:2022-01-06
[主观题]

假定栈用顺序的方式存储,栈类型stack定义如下: TYPE stack=RECORD A: ARRAY[1..M0OF datatype; t

假定栈用顺序的方式存储,栈类型stack定义如下:

TYPE stack=RECORD

A: ARRAY[1..M0OF datatype;

t:0..M0;

END;

下面是栈的一种基本运算的实现:

PROCEDURE xxxx(VAR s:stack)

BEGIN

IF s.t=0

THEN print('underflow')

ELSE s.t:=s.t-1;

END;

请问这是栈的哪种基本运算?()。

A) 栈的推入

B) 栈的弹出

C) 读栈顶元素

D) 将栈置为空栈

简答题官方参考答案 (由简答题聘请的专业题库老师提供的解答)
查看官方参考答案
更多“假定栈用顺序的方式存储,栈类型stack定义如下: TYPE stack=RECORD A: ARRAY[1..M0OF datatype; t”相关的问题
第1题
(12)假定栈用顺序的方式存储,栈类型 stack定义如下: TYPE stack=RECORD A:ARRAY[l..m0] OF dat

(12)假定栈用顺序的方式存储,栈类型 stack定义如下:

TYPE stack=RECORD

A:ARRAY[l..m0] OF datatype;

t:O..m0;

END;

下面是栈的一种基本运算的实现:

PROCEDURE xxxx(VAR s:satack);

BEGIN

IF s.t=0

THEN print(‘underflow’)

ELSE s.t:=s.t-1;

END;

请问这是栈的哪一种基本运算?

A) 栈的推入

B)栈的弹出

C)读栈顶元素

D)将栈置为空栈

点击查看答案
第2题
顺序栈是用一段连续的空间存储内容,本质是顺序表。链式栈则是采用单链表的方式存储。下列关于这两
种存储方式的说法正确的是: Sequential stack stores elements in a contiguous space, which is essentially a sequential list. Linked stack is implemented by a single linked list instead. Which of the following about the two storage methods are correct? (multiple choice)

A、顺序栈的压栈和出栈操作只需常数时间。 The push and pop operation of sequence stack only needs constant time.

B、链式栈的压栈和出栈操作只需常数时间。 The push and pop operation of linked stack only needs constant time.

C、顺序栈需要指定一个具体的长度 Sequential stack needs to be assigned a specific length.

D、链式栈需要一个结构性开销 Linked stack needs a structural cost.

点击查看答案
第3题
栈(stack)是一块采用()方式进行数据存取的存储区,在大多数系统(如MIPS)中,栈位于高端地址空间,向低地址方向动态增长。

A.顺序访问

B.随机访问

C.先进先出

D.先进后出

点击查看答案
第4题
以下是用类C语言写出的算法,该算法将以二叉链表存储的二叉树中的叶结点按从左到右的顺序链成一个
带头结点的双向循环链表,链接时,结点的Lchild域作为前链域,指向结点的直接前驱,结点的Rehild域作为后链域,指向结点的直接后继。算法,使用一个顺序栈stack,栈顶指针为top,p、t为辅助指针,head为双向循环链表的头指针。试填充算法中的空格,使算法完整。 void leafchain(){ p=(BiTree)malloc(sizeof(BiTNode)); if(!p){ printf(“OVERFLOW\n”); exit(1); } head=p; top=0; if(bt){ top++: stack[top]=bt; while(top){ t=stack[top]; top——; if(!t->Lchild&&!t->Rchild){ (1) (2) (3) } else{ if((4) ){ top++; stack[top]= (5) } if((6) ){ top++: stack[top]= (5) } } } (8) (9) } }

点击查看答案
第5题
当利用大小为N的数组顺序存储一个栈时,假定用栈顶指针top=N+1表示栈空,则向这个栈插入一个元素时
,首先应执行______语句修改top指针。

A.top:=top+1

B.top:=top-1

C.top:=0

D.top:=N

点击查看答案
第6题
顺序栈stack[0..m],栈底在stack[0]处。用top指向栈顶元素之后的空位置,判断栈空的条件是()

A.top= = -1

B.top= =0

C.top= =1

D.top=n-1

点击查看答案
第7题
以下是用类C语言写出的算法,该算法将以二叉链表存储的二叉树中的叶子结点按从左到右的顺序链成一
个带头结点的双向循环链表,链接时,结点的Lchild域作为前链域,指向结点的直接前驱,结点的Rchild域作为后链域,指向结点的直接后继。算法中,使用一个顺序栈stack,栈顶指针为top,P、t为辅助指针,head为双向循环链表的头指针。试填充算法中的空格,以完整算法。 void leafchain(BiTree&bt) {p=(BiTree)malloc(sizeof(BiTNode));

点击查看答案
第8题
顺序栈是用一段连续的空间存储内容,本质是顺序表。链式栈则是采用单链表的方式存储。下列关于这两种存储方式的说法正确的是:

A.顺序栈的压栈(入栈)和出栈操作只需常数时间。

B.链式栈的压栈(入栈)和出栈操作只需常数时间。

C.顺序栈需要指定一个具体的长度

D.链式栈需要一个结构性开销(与数据存储结构有关但与数据值本身无关的开销)

点击查看答案
第9题
二叉树的遍历非递归算法中,借用一个栈(stack)作为辅助存储结构,可以降低算法实现难度。
点击查看答案
第10题
●试题二 阅读以下说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 函数Multiba

●试题二

阅读以下说明和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″);

}

点击查看答案
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)

订单号:

遇到问题请联系在线客服

请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示:请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注简答题 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反简答题购买须知被冻结。您可在“简答题”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注简答题 -
请用微信扫码测试
欢迎分享答案

为鼓励登录用户提交答案,简答题每个月将会抽取一批参与作答的用户给予奖励,具体奖励活动请关注官方微信公众号:简答题

简答题官方微信公众号

简答题
下载APP
关注公众号
TOP