《数据结构:栈和队列期末单元测试与答案.docx》由会员分享,可在线阅读,更多相关《数据结构:栈和队列期末单元测试与答案.docx(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、一、单项选择题1、经过以下栈运算后,X的值是()0InitStack(s); Push(s,a); Push(s,b); Pop(s,x); GetTop(s,x);A.bB.OC.lD.a正确答案:D2、假设让元素1, 2, 3, 4, 5依次进栈,那么出栈次序不可能出现在() 种情况。A.2,3,5,4,1B.5,4,3,2,1C.2,1,5,4,3D.4,3,1,2,5正确答案:D3、假设链栈采用无头结点的单链表存储,top指向栈顶。假设想摘除栈顶 结点,并将删除结点的值保存到x中,那么应执行操作()。A.x=top-data;top=top-next;B.top=top-link;x=
2、top- next;C.x=top- next;D.x=top;top=top- next;正确答案:A4、数组Q n用来表示一个循环队列,f为当前队列头元素的前 一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算 队列中元素个数的公式为()oA.n+r-fB.n+r-f)%nC.r-fD.(n+f-r)%n正确答案:B5、设有一个递归算法如下int factfint n) n 大于等于 0if(n 0)return x * f (x -1);elsereturn 2;inti = f(f );A.8B.无限递归C.2D.4正确答案:D18、以下算法的功能是:有n个自然数1, 2,,
3、n存放在一维 数组An中,该递归算法输出这n个自然数的全排列。请在空白处选 择正确的语句。/include using namespace std;void perm(int A, int i, int n)(int j;int temp;if(i = 0)for (j = 0; j n; j+)printf (%dz Aj);printf (n);)else for(j = 0; j = i; j+) temp = Ai;Ai = Aj;Aj = temp;temp = Ai;Ai = Aj;Aj = temp;)/*例如,当a口 = 1,2, 3,4,5, i = 2, n = 5时,输出
4、结果为:231453214531245132452134512345*/A.perm A i-1, n)B.perm(A, i, n)C.permfA, i, n-1)D.permfA, i-1, n-1)正确答案:A二、判断题1、栈的进栈操作、出栈操作算法的时间复杂度均为0(n)。正确答案:X2、当把n个元素依次进入一个顺序栈后,其出栈顺序一定与进栈顺序相反。正确答案:V3、空栈没有栈顶指针。正确答案:X4、在循环队列中进行插入和删除时,无须移动队列中元素的位置。正确答案:V5、循环队列存在“假溢出”现象。正确答案:X6、消除递归不一定需要使用栈。正确答案:V7、栈是实现过程和函数等子程序调用所必需的结构。正确答案:V