为支持函数调用及返回,常采用称为“( )”的数据结构。A.队列 B.栈 C.多维数组 D.顺序表

题目

为支持函数调用及返回,常采用称为“( )”的数据结构。

A.队列 B.栈 C.多维数组 D.顺序表

参考答案和解析
正确答案:B
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

支持子程序调用的数据结构是().

A.栈

B.树

C.队列

D.二叉树树


正确答案:A

第2题:

调用递归过程或函数时,处理参数及返回地址需要用一种称为(11)的数据结构。

A.队列

B.栈

C.多维数组

D.顺序表


正确答案:B
解析:本题考查数据结构基础知识。
  在函数调用过程中形成嵌套时,则应使最后被调用的函数最先返回,递归函数执行时也是如此。例如,用递归方式求4的阶乘(以factorial(n)表示求n的阶乘)的过程如下所示:
  factorial(4)=4*factorial(3)
        =4*(3*factorial(2))
        =4*(3*(2*factorial(1)))
        =4*(3*(2*1)
        =4*(3*2)
        =4*6
        =24
  显然,要求4的阶乘,需要通过递归调用求出3的阶乘,要求出3的阶乘,必须先求出2的阶乘,依此类推,求出1的阶乘后才能得到2的阶乘,然后才能得到3和4的阶乘。该求解过程中的函数调用和返回需要满足后调用先返回的特点,因此需要使用栈结构。

第3题:

● 栈和队列都是线性的数据结构。以下关于栈和队列的叙述中,正确的是 (37) 。

(37)A. 栈适合采用数组存储,队列适合采用循环单链表存储

B. 栈适合采用单链表存储,队列适合采用数组存储

C. 栈和队列都不允许在元素序列的中间插入和删除元素

D. 若进入栈的元素序列确定,则从栈中出来的序列也同时确定


答案:B

顺序表示的栈和队列,必须预先分配空间,并且空间大小受限,使用起来限制比较多。而且,由于限定存取位置,顺序表示的随机存取的优点就没有了,所以,链式结构应该是首选。

 

第4题:

下列数据结构中能应用二分查找的是( )。

A.有序线性链表

B.有序顺序表

C.顺序存储的栈

D.顺序存储的队列


正确答案:B
解析:有序线性表顺序存储时才能采用二分查找。

第5题:

支持子程序调用的数据结构是 ______。

A.栈

B.树

C.队列

D.二叉树


正确答案:B
解析:子程序调用是一种层次关系,子程序调用功能模块,调用功能模块的个数也不确定,可以是一个,也可以是多个。选项A、C中元素之间是一种前后件关系,前后元素之间没有层次之分,每个结点有一个前件也只有一个后件。二叉树是一种很有用的非线性结构,二叉树不同于树形结构。二叉树具有以下两个特点:1)非空二叉树只有一个根结点;2)每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。选项D规定每个结点只能有两个后件。在子程序调用中,调用的功能模块可以是多个,可以调用超过两个功能模块。所以选项A、C、D均不正确。

第6题:

调用递归过程或函数时,处理参数及返回地址需要用一种称为什么的数据结构。

A.队列

B.栈

C.多维数组

D.顺序表


正确答案:B

第7题:

在程序的执行过程中,实现嵌套调用函数正确返回可以用(119)结构。

A.队列

B.栈

C.树

D.图


正确答案:B
解析:函数调用的过程是:系统首先将当前函数的上下文环境信息压入堆栈,然后执行被调用的函数;执行结束后,系统将程序执行信息弹出栈,继续执行原来的程序。可见,堆栈的特点恰好满足要求。

第8题:

● 调用递归过程或函数时,处理参数及返回地址需要用一种称为(39)的数据结构。

(39)

A.队列

B.栈

C.多维数组

D.顺序表


正确答案:B

第9题:

调用递归过程或函数时,处理参数及返回地址需要用一种称为( )的数据结构。

A.队列

B.栈

C.多维数组

D.顺序表


正确答案:B
解析:在递归函数执行时函数调用过程中形成嵌套时,最后被调用的函数最先返回。例如,用递归方法求3的阶乘(以factorial(n)表示n的阶乘)的过程如下:factorial(3)=3*factorial(2)=3*(2*factorial(1))=3*(2*1)=3:1:2=6。显然,要求3的阶乘,需要递归调用2的阶乘,要求2的阶乘,需要先求出l的阶乘,依此类推,求出1的阶乘后才得到2和3的阶乘。求解的过程满足后调用先返回的特点,因此需要使用到栈。

第10题:

下列数据结构具有记忆功能的是(25)。

A.栈

B.队列

C.顺序表

D.循环队列


正确答案:A
解析:栈是限定在一端进行插入与删除的线性表,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。栈按照“先进后出”(FILO)或“后进先出”(LIFO)组织数据,栈具有记忆作用。用top表示栈顶位置,用bottom表示栈底。栈的基本运算:(1)插入元素称为入栈运算;(2)删除元素称为退栈运算;(3)读栈顶元素是将栈顶元素给—个指定的变量,此时指针无变化。队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。Rear指针指向队尾,front指针指向队头。队列是“先进先出”(FIFO>或“后进后出”(LILO)的线性表。队列运算包括(1)人队运算:从队尾插入一个元素;(2)退队运算:从队头删除一个元素。