数据结构习题汇编03第三章栈和队列试题

合集下载

《数据结构》第三章 堆栈和队列 习题

《数据结构》第三章  堆栈和队列  习题

《数据结构》第三章堆栈和队列习题基本概念题:3-1 什么叫堆栈?什么叫队列?3-2 线性表、堆栈和队列这三种抽象数据类型有什么相同之处和不同之处?3-3 在顺序队列中,什么叫真溢出?什么叫假溢出?为什么顺序队列通常都采用顺序循环队列结构?3-4 什么叫优先级队列?优先级队列和队列有什么相同之处和不同之处?3-5 举例说明堆栈、队列和优先级队列的用途。

复杂概念题:3-6 设数据元素序列{a, b, c, d, e, f, g}的进堆栈操作和出堆栈操作可任意进行(排除堆栈为空时的出堆栈操作情况),下列哪些数据元素序列可由出堆栈序列得到:(1){d, e, c, f, b, g, a}; (2){f, e, g, d, a, c, b};(3){e, f, d, g, b, c, a}; (4){c, d, b, e, f, a, g}3-7 画出借助堆栈把下列中缀表达式转换成后缀表达式的过程:A * (B - D) + E / F3-8 对于一个堆栈,(1)如果输入序列由A,B,C,D组成,试给出全部可能的输出序列和不可能的输出序列。

(2)设有n个数据元素的序列顺序进栈,试给出可能的输出序列个数。

(3)设有n个数据元素的序列顺序进栈,试给出不可能的输出序列个数。

(4)以n=4为例,用(2)和(3)中得出的公式验证(1)的结论。

算法设计题:3-9 编写一个判断算术表达式中开括号和闭括号是否配对的算法。

3-10 给出采用设置标志位的方法解决“假溢出”问题的顺序循环队列的初始化操作、入队列操作和出队列操作的算法思想。

3-11 设计采用设置标志位方法解决“假溢出”问题的顺序循环队列的初始化操作、入队列操作和出队列操作的函数。

3-12 仿照例3-3,编程序判断一个字符序列是否是回文,要求采用链式队列和链式堆栈。

3-13 编程序判断一个字符序列是否是回文,要求只使用堆栈,不使用队列。

3-14 编写一个顺序优先级队列的出队列操作算法,要求不考虑相同优先级时的先进先出原则。

数据结构练习题第三章栈、队列和数组习题含答案

数据结构练习题第三章栈、队列和数组习题含答案
1
return(1);} } 12. 以下运算实现在链栈上的初始化,请在________________处用请适当句子予以填充。 Void InitStacl(LstackTp *ls){ ________________;} 13.` 以下运算实现在链栈上的进栈,请在处用请适当句子予以填充。 Void Push(LStackTp *ls,DataType x) { LstackTp *p;p=malloc(sizeof(LstackTp));
else return(0); } 16.必须注意,递归定义不能是“循环定义”。为此要求任何递归定义必须同时满足如下 条件: ①被定义项在定义中的应用(即作为定义项的出现)具有________________; ②被定义项在最小“尺度”上的定义不是________________的。 17. 队 列 简 称 ________________。 在 队 列 中 , 新 插 入 的 结 点 只 能 添 加 到 ________________,被删除的只能是排在________________的结点。 18. 队 列 以 线 性 表 为 逻 辑 结 构 , 至 少 包 括 ________________、 ________________、 ________________、________________ ________________、五种基本运算。 19.顺序队的出、入队操作会产生“________________”。 20.以下运算实现在循环队上的初始化,请在________________处用适当句子予以填充。 Void InitCycQueue(CycqueueTp *sq) { ________________;sq->rear=0;} 21. 以下运算实现在循环队上的入队列,请在________________处用请适当句子予以填 充。 Int EnCycQueue(CycquereTp *sq,DataType x) { if((sq->rear+1)%maxsize== ________________)

数据结构第三章栈和队列3习题

数据结构第三章栈和队列3习题

第三章栈和队列试题一、单项选择题1.栈的插入和删除操作在()进行。

A. 栈顶B. 栈底C. 任意位置D. 指定位置2.当利用大小为n的数组顺序存储一个栈时,假定用top==n表示栈空,则向这个栈插入一个元素时,首先应执行()语句修改top指针。

A. top++;B. top--;C. top = 0;D. top;3.若让元素1,2,3依次进栈,则出栈次序不可能出现()种情况。

A. 3, 2, 1B. 2, 1, 3C. 3, 1, 2D. 1, 3, 24.在一个顺序存储的循环队列中,队头指针指向队头元素的()位置。

A. 前一个B. 后一个C. 当前D. 后面5.当利用大小为n的数组顺序存储一个队列时,该队列的最大长度为()。

A. n-2B. n-1C. nD. n+16.从一个顺序存储的循环队列中删除一个元素时,需要()。

A. 队头指针加一B. 队头指针减一C. 取出队头指针所指的元素D. 取出队尾指针所指的元素7.假定一个顺序存储的循环队列的队头和队尾指针分别为front和rear,则判断队空的条件为()。

A. front+1 == rearB. rear+1 == frontC. front == 0D. front == rear8.假定一个链式队列的队头和队尾指针分别为front和rear,则判断队空的条件为()。

A. front == rearB. front != NULLC. rear != NULLD. front == NULL9.设链式栈中结点的结构为(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;10.设链式栈中结点的结构为(data, link),且top是指向栈顶的指针。

数据结构练习题第三章栈、队列和数组习题及答案

数据结构练习题第三章栈、队列和数组习题及答案

第三章栈、队列和数组一、名词解释:1.栈、栈顶、栈底、栈顶元素、空栈2.顺序栈3.链栈4.递归5.队列、队尾、队头6.顺序队7.循环队8.队满9.链队10.随机存储结构11.特殊矩阵12.稀疏矩阵13.对称方阵14.上(下)三角矩阵二、填空题:1.栈修改的原则是_________或称________,因此,栈又称为________线性表。

在栈顶进行插入运算,被称为________或________,在栈顶进行删除运算,被称为________或________。

2.栈的基本运算至少应包括________、________、________、________、________五种。

3.对于顺序栈,若栈顶下标值top=0,此时,如果作退栈运算,则产生“________”。

4.对于顺序栈而言,在栈满状态下,如果此时在作进栈运算,则会发生“________”。

5.一般地,栈和线性表类似有两种实现方法,即________实现和________实现。

6.top=0表示________,此时作退栈运算,则产生“________”;top=sqstack_maxsize-1表示________,此时作进栈运算,则产生“________”。

7.以下运算实现在顺序栈上的初始化,请在________处用适当的句子予以填充。

int InitStack(SqStackTp *sq){ ________;return(1);}8.以下运算实现在顺序栈上的进栈,请在________处用适当的语句予以填充。

Int Push(SqStackTp *sq,DataType x){ if(sp->top==sqstack_maxsize-1}{error(“栈满”);return(0);}else{________________:________________=x;return(1);}}9.以下运算实现在顺序栈上的退栈,请在________________用适当句子予以填充。

《数据结构》习题集:第3章栈和队列

《数据结构》习题集:第3章栈和队列

《数据结构》习题集:第3章栈和队列第3章栈和队列一、选择题1.栈结构通常采用的两种存储结构是()。

A、顺序存储结构和链表存储结构B、散列和索引方式C、链表存储结构和数组D、线性链表结构和非线性存储结构2.设栈ST 用顺序存储结构表示,则栈ST 为空的条件是()A、ST.top-ST.base<>0B、ST.top-ST.base==0C、ST.top-ST.base<>nD、ST.top-ST.base==n3.向一个栈顶指针为HS 的链栈中插入一个s 结点时,则执行()A、HS->next=s;B、s->next=HS->next;HS->next=s;C、s->next=HS;HS=s;D、s->next=HS;HS=HS->next;4.从一个栈顶指针为HS 的链栈中删除一个结点,用x 保存被删除结点的值,则执行()A 、x=HS;HS=HS->next;B 、HS=HS->next;x=HS->data;C 、x=HS->data;HS=HS->next;D 、s->next=Hs;Hs=HS->next;5.表达式a*(b+c)-d 的后缀表达式为()A、abcdd+-B、abc+*d-C、abc*+d-D、-+*abcd6.中缀表达式A-(B+C/D)*E 的后缀形式是()A、AB-C+D/E*B、ABC+D/E*C、ABCD/E*+-D、ABCD/+E*-7.一个队列的入列序列是1,2,3,4,则队列的输出序列是()A、4,3,2,1B、1,2,3,4C、1,4,3,2D、3,2,4,18.循环队列SQ 采用数组空间SQ.base[0,n-1]存放其元素值,已知其头尾指针分别是front 和rear,则判定此循环队列为空的条件是()A、Q.rear-Q.front==nB、Q.rear-Q.front-1==nC、Q.front==Q.rearD、Q.front==Q.rear+19.循环队列SQ 采用数组空间SQ.base[0,n-1]存放其元素值,已知其头尾指针分别是front 和rear,则判定此循环队列为满的条件是()A、Q.front==Q.rearB、Q.front!=Q.rearC、Q.front==(Q.rear+1)%nD、Q.front!=(Q.rear+1)%n10.若在一个大小为6 的数组上实现循环队列,且当前rear 和front 的值分别为0 和3,当从队列中删除一个元素,再加入两个元素后,rear 和front 的值分别为()A、1,5B、2, 4C、4,2D、5,111.用单链表表示的链式队列的队头在链表的()位置A、链头B、链尾C、链中12.判定一个链队列Q(最多元素为n 个)为空的条件是()A、Q.front==Q.rearB、Q.front!=Q.rearC、Q.front==(Q.rear+1)%nD、Q.front!=(Q.rear+1)%n13.在链队列Q 中,插入s 所指结点需顺序执行的指令是()A 、Q.front->next=s;f=s;B 、Q.rear->next=s;Q.rear=s;C 、s->next=Q.rear;Q.rear=s;D 、s->next=Q.front;Q.front=s;14.在一个链队列Q 中,删除一个结点需要执行的指令是()A、Q.rear=Q.front->next;B、Q.rear->next=Q.rear->next->next;C、Q.front->next=Q.front->next->next;D、Q.front=Q.rear->next;15.用不带头结点的单链表存储队列,其队头指针指向队头结点,队尾指针指向队尾结点,则在进行出队操作时()A、仅修改队头指针B、仅修改队尾指针C、队头尾指针都要修改D、队头尾指针都可能要修改。

数据结构习题第3章

数据结构习题第3章

第3章栈和队列一、选择题1. 栈中元素的进出原则是( )A.先进先出B.后进先出C.栈空则进D.栈满则出2. 已知一个栈的进栈序列为1, 2, …, n,其输出序列是p1, p2, … , p n ,若p1=n,则p i=()A. iB. n-iC. n-i+1D.不确定3. 一个栈的输入序列为:a b c d e,则下列不可能是栈的输出序列的是()。

A. b c d a eB. e d a c bC. b c a d eD. a e d c b4. 判定一个栈ST(最多元素为m0)为空的条件是( )A.ST->top<>0 B.ST->top=0 C.ST->top<>m0 D.ST->top=m0 5. 判定一个队列QU(最多元素为m0)为满队列的条件是( )A.QU->rear -QU->front = = m0 B.QU->rear -QU->front -1= = m0 C.QU->front = = QU->rear D.QU->front = = QU->rear+16.数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素的公式为( )A. r-fB.(n+f-r)% nC.n+r-fD.(n+r-f)% n7. 栈和队列的共同点是()。

A. 都是先进先出B. 都是先进后出C. 只允许在端点处插入和删除元素D. 没有共同点8. 用单链表表示的链式队列的队头在链表的()位置。

A.表头B.表尾C.中间9. 设计一个判别表达式中左,右括号是否配对出现的算法,采用()结构最佳。

A.线性表的顺序存储结构 B. 队列C. 线性表的链式存储结构D. 栈10. 用不带头结点的单链表存储队列时,其队头指针指向队头结点,其队尾指针指向队尾结点,则在进行删除操作时( )。

第三章栈和队列习题

第三章栈和队列习题

第三章栈和队列习题第三章栈和队列一,选择1. 对于栈操作数据的原则是()。

A. 先进先出B. 后进先出C. 后进后出D. 不分顺序 3. 最大容量为n的循环队列,队尾指针是rear,队头是front,则队空的条件是()。

A. (rear+1) MOD n=frontB. rear=frontC.rear+1=front D. (rear-l) MOD n=front4当利用大小为n的数组顺序存储一个栈时,假定用top= =n表示栈空,则向这个栈插入一个元素时首先应执行语句修改top指针。

A.top++ B.top-- C.top=0 D.top5. 若已知一个栈的入栈序列是1,2,3,?,n,其输出序列为p1,p2,p3,?,pN,若pN是n,则pi是( )。

A. iB. n-iC. n-i+1D. 不确定 6. 一个递归算法必须包括()。

A. 递归部分B. 终止条件和递归部分C. 迭代部分D.终止条件和迭代部分 7. 执行完下列语句段后,i值为:()int f(int x){ return ((x>0) ? x* f(x-1):2);} int i ; i =f(f(1));A.2 B. 4 C. 8 D. 无限递归8. 设栈S和队列Q的初始状态为空,元素e1,e2,e3,e4,e5和e6依次通过栈S,一个元素出栈后即进队列Q,若6个元素出队的序列是e2,e4,e3,e6,e5,e1则栈S的容量至少应该是( )。

A. 6 B. 4 C. 3 D. 2 9. 栈和队列的共同点是()。

A. 都是先进先出B. 都是先进后出C. 只允许在端点处插入和删除元素 D. 没有共同点10. 设计一个判别表达式中左,右括号是否配对出现的算法,采用()数据结构最佳。

A.线性表的顺序存储结构 B. 队列 C. 线性表的链式存储结构 D. 栈 11. 用不带头结点的单链表存储队列时,其队头指针指向队头结点,其队尾指针指向队尾结点,则在进行删除操作时( )。

数据结构习题汇编03第三章栈和队列试题

数据结构习题汇编03第三章栈和队列试题

第三章栈和队列试题一、单项选择题1.栈的插入和删除操作在()进行。

A. 栈顶B. 栈底C. 任意位置D. 指定位置2.当利用大小为n的数组顺序存储一个栈时,假定用top==n表示栈空,则向这个栈插入一个元素时,首先应执行()语句修改top指针。

A. top++;B. top--;C. top = 0;D. top;3.若让元素1,2,3依次进栈,则出栈次序不可能出现()种情况。

A. 3, 2, 1B. 2, 1, 3C. 3, 1, 2D. 1, 3, 24.在一个顺序存储的循环队列中,队头指针指向队头元素的()位置。

A. 前一个B. 后一个C. 当前D. 后面5.当利用大小为n的数组顺序存储一个队列时,该队列的最大长度为()。

A. n-2B. n-1C. nD. n+16.从一个顺序存储的循环队列中删除一个元素时,需要()。

A. 队头指针加一B. 队头指针减一C. 取出队头指针所指的元素D. 取出队尾指针所指的元素7.假定一个顺序存储的循环队列的队头和队尾指针分别为front和rear,则判断队空的条件为()。

A. front+1 == rearB. rear+1 == frontC. front == 0D. front == rear8.假定一个链式队列的队头和队尾指针分别为front和rear,则判断队空的条件为()。

A. front == rearB. front != NULLC. rear != NULLD. front == NULL9.设链式栈中结点的结构为(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;10.设链式栈中结点的结构为(data, link),且top是指向栈顶的指针。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第三章 栈和队列 试题一、单项选择题1. 栈的插入和删除操作在()进行。

A. 栈顶B. 栈底C. 任意位置D. 指定位置2. 当利用大小为 n 的数组顺序存储一个栈时, 假定用 top ==n 表示栈空,则向这个栈插入一个元素时, 首先应执行( )语句修改 top 指针。

A. top++ ;B. top -- ;C. top = 0 ;D. top ;A. 3, 2, 1B. 2, 1, 3C. 3, 1, 24.在一个顺序存储的循环队列中,队头指针指向队头元素的( )位置。

7. 假定一个顺序存储的循环队列的队头和队尾指针分别为 front 和 rear ,则判断队空的条件为( )。

A. front+1 == rearB. rear+1 == frontC. front == 0D. front == rearElemType base[MaxSize] ;3. 若让元素 1,2,3 依次进栈,则出栈次序不可能出现()种情况。

D. 1, 3, 2A. 前一个B. 后一个C. 当前D. 后面5. 当利用大小为 n 的数组顺序存储一个队列时,该队列的最大长度为()。

A. n-2B. n-1C. nD. n+16. 从一个顺序存储的循环队列中删除一个元素时,需要)。

A. 队头指针加一C. 取出队头指针所指的元素B. 队头指针减一D. 取出队尾指针所指的元素8. 假定一个链式队列的队头和队尾指针分别为A. front == rear C. rear != NULLfront 和 rear ,则判断队空的条件为( B. front != NULLD. front == NULL)。

9. 设链式栈中结点的结构为( data, link指针 s 所指的结点,则应执行操作(,且 top 是指向栈顶的指针。

若想在链式栈的栈顶插入一个由 )。

A. top->link = sC. s->link = toptop = sB. s->link = top->link ; top->link = s D. s->link = top ; top = top->link10. 设链式栈中结点的结构为( data, link ),且 top 是指向栈顶的指针。

若想摘除链式栈的栈顶结点,并将被摘除结点的值保存到 x 中,则应执行操作( )。

A. x = top->data ; top = top->link ;B. top = top->link; x = top->data ;C. x = top ; top = top->link;D. x = top->data ;11. 设循环队列的结构是#define MaxSize 100 typedef int ElemType; typedef struct {int front, rear ;} Queue;若有一个Queue类型的队列Q,则判断队列满的条件应是语句()。

A. == ;B. - == MaxSize ;C. + == MaxSize ;D. == +1) % MaxSize ;12. 设循环队列的结构是#define MaxSize 100 typedef int ElemType;typedef struct {ElemType base[MaxSize] ;int front, rear ;} Queue;若有一个Queue类型的队列Q,则应用语句()计算队列元素个数。

A. - + MaxSize ) % MaxSize ;B. - +1 ;C. - -1 ;D. - Qfront ;13. 在做进栈运算时, 应先判断栈是否()A. 空B. 满C. 上溢D. 下溢14. 为增加内存空间的利用率和减少溢出的可能性,由两个栈共享一片连续的内存空间时, 应将两栈的()分别设在这片内存空间的两端。

A. 长度B. 深度C. 栈顶D. 栈底15. 使用两个栈共享一片内存空间时,当()时,才产生上溢。

A. 两个栈的栈顶同时到达这片内存空间的中心点B. 其中一个栈的栈顶到达这片内存空间的中心点C. 两个栈的栈顶在这片内存空间的某一位置相遇D. 两个栈均不空, 且一个栈的栈顶到达另一个栈的栈底二、填空题1. 栈是一种限定在表的一端插入和删除的线性表,它的特点是 _________ 。

2. 队列是一种限定在表的一端插入,在另一端删除的线性表,它的特点是 _________ 。

3. 队列的插入操作在_______ 进行,删除操作在_______ 进行。

4. 向一个顺序栈插入一个元素时,首先使 ______ 后移一个位置,然后把待插入元素写入到这个位置上。

5. 从一个顺序栈中删除元素时,需要将 ________ 前移一位位置。

6. 若设顺序栈的最大容量为MaxSize ,则判断栈满的条件是________ 。

7. 当用长度为MaxSize 的数组顺序存储一个栈时,若用top == MaxSize 表示栈空,则表示栈满的条件为8. 在一个链式栈中,若栈顶指针等于NULL则为_______ 。

9. 在向一个链式栈插入一个新结点时,首先把栈顶指针中存放的结点地址赋给新结点的指针域,然后把新结点的存储位置赋给___________ 。

10. 向一个栈顶指针为top 的链式栈中插入一个新结点*p 时,应执行________ 和______ 操作。

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

12. 设循环队列Q 的队头和队尾指针分别为front 和rear ,则判断队空的条件为 _________ 。

13. 设循环队列Q的队头和队尾指针分别为front 和rear ,队列的最大容量为MaxSize ,且规定判断队空的条件为== ,则判断队满的条件为 ____________ 。

14. 向一个循环队列中插入元素时,需要首先移动 ________ ,然后再向所指位置写入新插入的元素。

15. 在一个链式队列中,若队头指针与队尾指针的值相同,则表示该队列为 ________ 或该队列_______ 。

16. 假定front 和rear 分别为链式队列的队头和队尾指针,则该队列中只有一个结点的条件为 _________ 。

17. 双端队列是限定插入和删除操作在表的 _______ 进行的线性表。

18. 中缀表达式3*(x+2)-5 所对应的后缀表达式为_________ 。

19. 后缀表达式“ 4 5 * 3 2 + - ”的值为_________ 。

20. 设有一个顺序栈S,元素s1, s 2, s 3, s 4, s 5, s 6依次进栈,如果6个元素的出栈顺序为s2, s 3, s 4, s 6 s5, s 1,则顺序栈的容量至少应为______________ 。

三、判断题1. 每次从队列中取出的应是具有最高优先权的元素,这种队列就是优先级队列。

2. 链式栈与顺序栈相比,一个明显的优点是通常不会出现栈满的情况。

3. 在一个顺序存储的循环队列中,队头指针指向队头元素的后一个位置。

4. 栈和队列都是顺序存取的线性表,但它们对存取位置的限制不同。

5. 在使用后缀表示实现计算器类时使用了一个栈的实例,它起的作用是暂存运算对象和计算结果。

6. 在向顺序栈压入新元素时,要先按栈顶指针指示的位置存入新元素再移动栈顶指针。

7. 在用单链表表示的链式队列中,队头在链表的链尾位置。

8. 在用循环单链表表示的链式队列中,可以不设队头指针,仅在链尾设置队尾指针。

9.在一个循环队列Q中,判断队满的条件为% MaxSize+1 == 。

10.在一个循环队列Q中,判断队空的条件为+1 == 。

11.若让元素1, 2, 3依次进栈,则出栈次序1, 3, 2是不可能出现的情况。

12.若让元素1, 2, 3依次进栈,则出栈次序3, 1, 2是不可能出现的情况。

13. 在循环队列中,进队时队尾指针进一,出队时队头指针减一。

14. 在循环队列中,进队时队尾指针进一,出队时队头指针进一。

15. 在用单链表表示的链式队列Q 中,队空条件为Q->front == Q->rear 。

16. 如果进栈序列是1, 2, 3, 4, 5, 6, 7, 8 。

则可能的出栈序列有8!种。

四、运算题1. 试利用运算符优先数法,画出对中缀算术表达式 a + b * c - d / e 求值时运算符栈OPTR和运算对象栈OPND的变化。

运算符优先数如下表所示:2. 试利用运算符优先数法,画出将中缀算术表达式 a + b * c - d / e 改为后缀表达式时运算符栈OPTR的变化。

运算符优先数如下表所示:3. 试画出对后缀算术表达式 a b c * + d e / - 求值时运算对象栈OPND的变化。

4. 将二项式( a + b) i展开, 其系数构成杨辉三角形。

若想按行将展开式系数的前n 行打印出来,需要用到一个队列,存放各行展开式的系数。

试画出当n = 3 的情况下,在打印过程中队列的变化。

#include " " // 在里定义了链栈的抽象数据类型void YANGVI ( int n ) {SqQueue q; InitQueue(&q);(1) ; (1) ;int i, j, t, s = 0 ;for ( i = 1 ; i <= n ; i++ ) {cout << endl;(0) ;for ( j = 1 ; j <= i+2 ; j++ ) { (t) ;(s+t) ;s = t ;if ( j != i+2 ) cout << s <<}}}5. 写出下列程序段的输出结果:void main( ) {stack S ;char x, y ;x = 'c' ;y = 'k'( x ) ;( 'a' ); ( y ) ;( x ) ;( 't' ); ( x ) ;( x ) ;( 's' )while (! ( ) ){ ( y ) ; cout << y ; }cout<< y << endl;}输出结果:______________________6. 写出下列程序段的输出结果: void main( ) {queue Q; char x = 'e', y = 'c' ; ( 'h' ) ; ( 'r' ) ; ( y ) ;(Q,x) ; ( x ) ; ( x ) ;( 'a' ) ;while (! ( ) ) { ( y ) ; cout << y ; }cout << y << endl;}输出结果:_____________________7. 简述下述算法功能void unknown ( Queue &Q ) {Stack S ; int d;while (! ( ) ){ ( d ) ; ( d ) ; } while (! ( ) ){ ( d ) ; ( d ) ; }五、算法分析题1. 下面的算法中使用了一个栈st ,阅读该算法,回答下列问题:(1) 算法的功能是: ___________________________________(2) 若字符数组A[ ] = { m, a, d, a, m, i, m, a, d, a, m} ,执行这个算法,跟踪栈的变化。

相关文档
最新文档