网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

若栈采用链式存储且仅设头指针,则( )时入栈和出栈操作最方便。

A.采用不含头结点的单链表且栈顶元素放在表尾结点B.采用不含头结点的单链表且栈顶元素放在表头结点C.采用含头结点的单循环链表且栈顶元素随机存放在链表的任意结点D.采用含头结点的双向链表且栈顶元素放在表尾结点


参考答案

更多 “ 若栈采用链式存储且仅设头指针,则( )时入栈和出栈操作最方便。A.采用不含头结点的单链表且栈顶元素放在表尾结点B.采用不含头结点的单链表且栈顶元素放在表头结点C.采用含头结点的单循环链表且栈顶元素随机存放在链表的任意结点D.采用含头结点的双向链表且栈顶元素放在表尾结点 ” 相关考题
考题 设链栈结点结构为(data,next),top为栈顶指针,当执行入栈操作时需执行下列语句:p=newnode;p->data=x;p->next=top;();

考题 ● 栈和队列都是线性的数据结构。以下关于栈和队列的叙述中,正确的是 (37) 。(37)A. 栈适合采用数组存储,队列适合采用循环单链表存储B. 栈适合采用单链表存储,队列适合采用数组存储C. 栈和队列都不允许在元素序列的中间插入和删除元素D. 若进入栈的元素序列确定,则从栈中出来的序列也同时确定

考题 带链的栈与顺序存储的栈相比,其优点是()。A.入栈与退栈操作方便B.可以省略栈底指针C.入栈操作时不会受栈存储空间的限制而发生溢出D.以上都不对

考题 设栈的顺序存储空间为S(0:49),栈底指针bottom=49,栈顶指针top=30(指向栈顶元素)。则栈中的元素个数为()。A.30B.29C.20D.19

考题 下面关于栈和队列的叙述,错误的是( )。A.栈和队列都是操作受限的线性表B.队列采用单循环链表存储时,只需设置队尾指针就可使入队和出队操作的时间复杂度都为O(1)C.若队列的数据规模n可以确定,则采用顺序存储结构比链式存储结构效率更高D.利用两个栈可以模拟一个队列的操作,反之亦可

考题 阅读下列说明和c函数代码,将应填入 (n) 处的字句写在答题纸的对应栏内。【说明】对二叉树进行遍历是二叉树的一个基本运算。遍历是指按某种策略访问二叉树的每个结点,且每个结点仅访问一次的过程。函数InOrder。()借助栈实现二叉树的非递归中序遍历运算。设二叉树采用二叉链表存储,结点类型定义如下:typedef struct BtNode{ElemTypedata; /*结点的数据域,ElemType的具体定义省略*/struct BtNode*ichiid,*rchild; /*结点的左、右弦子指针域*/)BtNode,*BTree;在函数InOrder()中,用栈暂存二叉树中各个结点的指针,并将栈表示为不含头结点的单向链表(简称链栈),其结点类型定义如下:typedef struct StNode{ /*链栈的结点类型*/BTree elem; /*栈中的元素是指向二叉链表结点的指针*/struct StNode*link;}S%Node;假设从栈顶到栈底的元素为en、en-1、…、e1,则不含头结点的链栈示意图如图5—5所示。【C函数】int InOrder(BTree root) /*实现二叉树的非递归中序遍历*/{BTree ptr; /*ptr用于指向二又树中的结点*/StNode*q; /*q暂存链栈中新创建或待删除的结点指针+/StNode*stacktop=NULL; /*初始化空栈的栈顶指针stacktop*/ptr=root; /*ptr指向二叉树的根结点*/while( (1 ) I I stacktop!=NULL){while(ptr!=NULL){q=(StNode*)malloc(sizeof(StNode));if(q==NULL)return-1;q-elem=ptr;(2) ;stacktop=q; /*stacktop指向新的栈顶*/ptr=(3 ) ; /*进入左子树*/}q=stacktop; (4) ; /*栈顶元素出栈*/visit(q); /*visit是访问结点的函数,其具体定义省略*/ptr= (5) ; /*进入右子树*/free(q); /*释放原栈顶元素的结点空间*/}return 0;}/*InOrder*/

考题 设链式栈中结点的结构为(data,link),且top是指向栈顶的指针。若想在链式栈的栈顶插入一个由指针s所指的结点,则应执行的操作是(31)。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;

考题 对于初始为空的栈S,入栈序列为a、b、c、d,且每个元素进栈、出栈各1次。若出栈的第一元素为d,则合法的出栈序列为()。A.dcbaB.dabcC.dcabD.dbca

考题 设链式栈中结点的结构为(data,link),且top是指向栈顶的指针。若想摘除链式栈的栈顶结点,并将被摘除结点的值保存到x中,则应执行的操作是(32)。A.x=top->data;top=top->link;B.top=top->link;x=top->data;C.x=top;top=top->link;D.x=top->data;

考题 下列叙述中正确的是( )。A.有两个指针域的链表称为二叉链表B.循环链表是循环队列的链式存储结构C.带链的栈有栈顶指针和栈底指针,因此又称为双重链表D.结点中具有多个指针域的链表称为多重链表.

考题 用链表作为栈的存储结构时,若要入栈操作成功,则(38)。A.必须先判断是否栈满B.必须先判断是否栈空C.必须先判断栈顶元素的类型D.必须成功申请到入栈元素所需结点

考题 用链表作为栈的存储结构时,若要入栈操作成功,则( )。A.必须先判断是否栈满 B.必须先判断是否栈空 C.必须先判断栈顶元素的类型 D.必须成功申请到入栈元素所需结点

考题 栈的特点是后进先出,若用单链表作为栈的存储结构,并用头指针作为栈顶指针,则( )。A.入栈和出栈操作都不需要遍历链表 B.入栈和出栈操作都需要遍历链表 C.入栈操作需要遍历链表而出栈操作不需要 D.入栈操作不需要遍历链表而出栈操作需要

考题 向一个栈顶指针为top的链式栈中插入一个新结点*p时,应执行()和()操作。

考题 假定利用数组A[N]顺序存储一个栈,top表示栈顶指针,已知栈未满,则x入栈时所执行的操作是()。A、a[--top]=xB、a[top--]=xC、a[++top]=xD、a[top++]=x

考题 从一个栈顶指针为top的非空链式栈中删除节点并不需要返回栈顶结点的值和回收结点时,应执行()操作。

考题 在一个链式栈中,若栈顶指针等于NULL则为(),在一个链式队列中,若队头指针与队尾指针的值相同,则表示该队列为()或该队列()。

考题 设有一个非空的链栈,栈顶指针为hs,要进行出栈操作,用x保存出栈结点的值,栈结点的指针域为next,则可执行x=hs-data;()。

考题 设有一个非空的链栈,栈顶指针为hs,要进行出栈操作,用x保存出栈结点的值,找结点的指针域为next,则可执行x=hs一data;()。

考题 向一个链式栈插入一个新结点时,首先把栈顶指针的值赋给(),然后把新结点的存储位置赋给()。

考题 因为SP所指栈顶为“实”栈顶,所以在入栈和出栈操作时都要先修改堆栈指针SP,再执行入栈、出栈操作。

考题 填空题从一个栈顶指针为top的非空链式栈中删除节点并不需要返回栈顶结点的值和回收结点时,应执行()操作。

考题 填空题设有一个非空的链栈,栈顶指针为hs,要进行出栈操作,用x保存出栈结点的值,栈结点的指针域为next,则可执行x=hs-data;()。

考题 填空题向一个栈顶指针为top的链式栈中插入一个新结点*p时,应执行()和()操作。

考题 单选题下列叙述中正确的是(  )。A 有两个指针域的链表称为二叉链表B 循环链表是循环队列的链式存储结构C 带链的栈有栈顶指针和栈底指针,因此又称为双重链表D 结点中具有多个指针域的链表称为多重链表

考题 填空题在一个链式栈中,若栈顶指针等于NULL则为(),在一个链式队列中,若队头指针与队尾指针的值相同,则表示该队列为()或该队列()。

考题 判断题因为SP所指栈顶为“实”栈顶,所以在入栈和出栈操作时都要先修改堆栈指针SP,再执行入栈、出栈操作。A 对B 错