首页 > 外贸类考试
题目内容 (请给出正确答案)
[主观题]

判定一个栈顶指针为S且不带头结点的链栈为空栈的条件是()。

A、S

B、S->next

C、S->next==NULL

D、!S

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“判定一个栈顶指针为S且不带头结点的链栈为空栈的条件是()。”相关的问题
第1题
向一个栈顶指针为H的链栈中插入一个s所指向的结点时,需执行()。A.H->link=sB.s->link=H->link;H->

向一个栈顶指针为H的链栈中插入一个s所指向的结点时,需执行()。

A.H->link=s

B.s->link=H->link;H->link=s;

C.s->link=H;H=s;

D.s->link=H;H=H->link;

点击查看答案
第2题
一个链栈的栈顶指针是top,则执行出栈操作时(栈非空),用x保存被删除结点的值,则执行()。

A.x=top;top=top->next;

B.x=top->data;

C.top=top->next;x=top->data;

D.x=top->data;top=top->next;

点击查看答案
第3题
设链式栈中节点的结构为(data,link),且top是指向栈顶的指针。则在栈顶插入一个由指针s所指的节点应执行______。

A.top→link=s;

B.s→link=top→link;top→link=s;

C.s→link=top;top=s;

D.s→link=top;top=top→link;

点击查看答案
第4题
设栈的存储空间为S(1:m),初始状态为top=m+1。经过一系列入栈与退栈操作后,top=1。现又要将一个元素
进栈,栈顶指针t叩值变为()。

A.发生栈满的错误

B.2

C.m

D.0

点击查看答案
第5题
以下有关顺序栈的操作中正确的是()。
以下有关顺序栈的操作中正确的是()。

A、n个元素进入一个栈后,它们的出栈顺序一定与进栈顺序相反

B、若一个栈的存储空间为S[n],则对栈的进栈和出栈操作最多只能执行n次

C、栈是一种对进栈、出栈操作的次序做了限制的线性表

D、空栈没有栈顶指针

点击查看答案
第6题
●试题二 阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 函数pri

●试题二

阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。

【说明】

函数print(BinTreeNode*t;DateType &x)的功能是在二叉树中查找值为x的结点,并打印该结点所有祖先结点。在此算法中,假设值为x的结点不多于一个。此算法采用后序的非递归遍历形式。因为退栈时需要区分右子树。函数中使用栈ST保存结点指针ptr以及标志tag,Top是栈顶指针。

【函数】

void print(BinTreeNode*t;DateType &x){

stack ST;int i,top;top=0;∥置空栈

while(t!=NULL &&t->data!=x‖top!=0)

{while(t!=NULL && t->data!=x)

{

∥寻找值为x的结点

(1) ;

ST[top].ptr=t;

ST[top].tag=0;

(2) ;

}

if(t!=Null && t->data==x){∥找到值为x的结点

for(i=1; (3) ;i++)

printf("%d",ST[top].ptr->data);}

else{

while((4) )

top--;

if(top>0)

{

ST[top].tag=1;

(5) ;

}

}

}

点击查看答案
第7题
若需将一个栈S中的元素逆置,则以下处理方式中正确的是______。A.将栈S中元素依次出栈并入栈T,然后

若需将一个栈S中的元素逆置,则以下处理方式中正确的是______。

A.将栈S中元素依次出栈并入栈T,然后栈T中元素依次出栈并进入栈S

B.将栈S中元素依次出栈并入队,然后使该队列元素依次出队并进入栈S

C.直接交换栈顶元素和栈底元素

D.直接交换栈顶指针和栈底指针

点击查看答案
第8题
假设用一个长度为 50 的数组 (数组元素的下标从 0 到 49) 作为栈的 存储 空间,栈底指针 bot

假设用一个长度为 50 的数组 (数组元素的下标从 0 到 49) 作为栈的 存储 空间,栈底指针 bottom 指向栈

底元素,栈顶指针 top 指向栈顶元素,如果 bottom=49 , top=30(数组下标 ) ,则栈中具有 【 1 】 个元素。

点击查看答案
第9题
现有一个空栈,栈顶指针为100H,现有输入序列为A、B、C、D、E,经过操作push,push, pop,push,pop,push后
,输出的序列为(33),此时栈顶的指针为(34)。

A.B、C

B.A、B

C.A、C

D.B、D

点击查看答案
第10题
链式栈的栈顶指针在链尾,每次进栈都是在链尾进行。()
链式栈的栈顶指针在链尾,每次进栈都是在链尾进行。()

点击查看答案
第11题
●试题三 阅读下列说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 本题给出四

●试题三

阅读下列说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。

【说明】

本题给出四个函数,它们的功能分别是:

1.int push(PNODE *top,int e)是进栈函数,形参top是栈顶指针的指针,形参e是入栈元素。

2.int pop(PNODE *top,int *e)是出栈函数,形参top是栈顶指针的指针,形参e作为返回出栈元素使用。

3.int enQueue(PNODE *tail,int e)是入队函数,形参tail是队尾指针的指针,形参e是入队元素。

4.int deQueue(PNODE *tail,int *e)是出队函数,形参tail是队尾指针的指针,形参e作为返回出队元素使用。

以上四个函数中,返回值为0表示操作成功,返回值为-1表示操作失败。

栈是用链表实现的;队是用带有辅助结点(头结点)的单向循环链表实现的。两种链表的结点类型均为:

typedef struct node{

int value;

struct node *next;

}NODE,*PNODE;

【函数1】

int push(PNODE *top,int e)

{

PNODE p=(PNODE)malloc (sizeof(NODE));

if (!p) return-1;

p-> value =e;

(1) ;.

*top=p;

return 0;

}

【函数2】

int pop (PNODE *top,int *e)

{

PNODE p=*top;

if(p==NULL)return-1;

*e=p->value;

(2) ;

free(p);

return 0;

}

【函数3】

int enQueue (PNODE *tail,int e)

{PNODE p,t;

t=*tail;

p=(PNODE)malloc(sizeof(NODE));

if(!p)return-l;

p->value=e;

p->next=t->next;

(3) ;

*tail=p;

return 0;

}

【函数4】

int deQueue(PNODE *tail,int *e)

{PNODE p,q;

if((*tail)->next==*tail)return -1;

p=(*tail)->next;

q=p->next;

*e=q->value;

(4) =q->next;

if(*tail==q) (5) ;

free(q);

return 0;

}

点击查看答案
退出 登录/注册
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改