数据结构ppt习题整理1

合集下载

数据结构课件数据结构习题

数据结构课件数据结构习题

10. 数据的运算最常用的有5种,它们分别是 检索、排序、插入、删除、修改 。
11. 一个算法的效率可分为 时间 效率和 空间 效率。
( B)1. 非线性结构是数据元素之间存在一种:B)多对多关系
( C)2. 数据结构中,与所使用的计算机无关的是数据的
结构;C) 逻辑
( C)3. 算法分析的目的是:C) 分析算法的效率以求改进
条边。B. 28
( C )4. 有8个结点的无向连通图最少有
条边。 C. 7
( C )5. 有8个结点的有向完全图有
条边。C. 56
( B )6. 用邻接表表示图进行广度优先遍历时,通常是采用
来实现算法的。B. 队列
( A )8. 深度优先遍历类似于二叉树的A.先序遍历
( D )9. 广度优先遍历类似于二叉树的 D. 层次遍历
4. 数据结构按逻辑结构可分为两大类,它们分别是线性结构和非线性结构 。
5. 线性结构中元素之间存在 一对一 关系,树形结构中元素之间存在 一对多 系,图形结构中元素之间存在 多对多 关系。
6. 在线性结构中,第一个结点 没有 前驱结点,其余每个结点有且只有 1个前驱结点;最后一个结点 没有 后续结 点,其余每个结点有且只有1个后续结点。
1. 数据结构是一门研究非数值计算的程序设计问题中计算机的 操作对象 以及它们之间的 关系 和运算等的学科。
2. 数据结构被形式地定义为(D, R),其中D是 数据元素 的有限集合,R是D上的 关系 有限集合。
3. 数据结构包括数据的 逻辑结构 、数据的 存储结构 和数据的 运算 这三个方面的内容。
( A)4. 算法分析的两个主要方面是:A) 空间复杂性和时间复杂性
( C)5. 计算机算法指的是: C) 解决问题的有限运算序列

数据结构习题课1

数据结构习题课1
IF i j 1 THEN
(IF A[i] A[j] THEN(fmax A[j]. fmin A[i]).
ELSE (fmax A[i]. fmin A[j]). RETURN). BS2. [取中值] mid (ij)/2 BS3. [递归调用]
BS (A, i, mid. gmax, gmin). BS (A, mid1, j. hmax,
IF (n≤1) THEN (flag←false. RETURN.) S2[初始化]
i←2. flag←true. S3[求余判断]
WHILE (i ≤ n div 2 ) DO (IF (n MOD i)=0 THEN (flag←false. RETURN.) i←i+1.) ▌
参考答案3
算法 S (n. flag) /*判断整数n是否为素数,将结果保存到变量flag*/ S1[n≤1?]
for(int k=1;k<=n;k++) for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) ;
int t=1; while(t<n) t*=2;
int t=2; while(t<n) t*=t;
作业1-5
题目描述
试用ADL语言编写一个算法,判断任一整数 n 是否为素数
for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) t=a[i][j],a[i][j]=a[j][i],a[j][i]=t;
for(int i=1;i<=n;i++) for(int j=i+1;j<=n;j++) a[j][i]=[i][j];

数据结构课件数据结构习题

数据结构课件数据结构习题

( D )5.数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队
列中元素的个数小于n,计算队列中元素的公式为(D)(n+r-f)% n
1. 假设有二维数组A6×8,每个元素用相邻的6个字节存储,存储器按字节编址。已知A的起始存储位置(基地址)
为1000,则数组A的体积(存储量)为 288 ;末尾元素A57的第一个字节地址为 1282 ;若按行存储时,元素A14的
8. 线性表L在
情况下适用于使用链式结构实现。(B)需不断对L进行删除插入
1. 线性表、栈和队列都是 线性 结构,可以在线性表的 任意 位置插入和删除元素;对于栈只能在 栈顶 插入和 删除元素;对于队列只能在 队尾 插入和 队头 删除元素。
2. 栈是一种特殊的线性表,允许插入和删除运算的一端称为 栈顶 。不允许插入和删除运算的一端称为 栈底 。
但其最佳存储方式是顺序存储方式。 ( × )10.线性表的逻辑顺序与存储顺序总是一致的。 错,理由同7。链式存储就无需一致。
5. 链接存储的存储结构所占存储空间:分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针
6. 链表是一种采用
存储结构存储的线性表;(B)链式
7. 线性表若采用链式存储结构时,要求内存中可用存储单元的地址:(D)连续或不连续都可以
顺序表中,插入和删除一个数据元素,平均需移动表长一半个数的数据元素。 ( × )7.线性表在物理存储空间中也一定是连续的。 错,线性表有两种存储方式,顺序存储和链式存储。后者不要求连续存放。 ( × )8.线性表在顺序存储时,逻辑上相邻的元素未必在存储的物理位置次序上相邻。 错误。线性表有两种存储方式,在顺序存储时,逻辑上相邻的元素在存储的物理位置次序上也相邻。 ( × )9.顺序存储方式只能用于存储线性结构。 错误。顺序存储方式不仅Байду номын сангаас用于存储线性结构,还可以用来存放非线性结构,例如完全二叉树是属于非线性结构,

数据结构复习(6树习题)PPT教学课件

数据结构复习(6树习题)PPT教学课件

3
6.若一棵二叉树具有10个度为2的结点,5个度为1的结点,
则度为0的结点个数是( )
A.9
7. 设森林F对应的二叉树为B,它有m个结点,B的根为p,p的 右子树结点个数为n,森林F中第一棵树的结点个数是( )
A.m-n√ B.m-n-1 C.n+1 D.条件不足,无法确定
2020/12/11
5
11. 有关二叉树下列说法正确的是( )
A.二叉树的度为2
B.一棵二叉树的度可以小于2 √
C.二叉树中至少有一个结点的度为2
D.二叉树中任何一个结点的度都为2
12. 一个具有1025个结点的二叉树的高h为( )
A.11 B.10 C.11至1025之间 √ D.10至1024之间
A. 先序序列
B. 中序序列 √ C. 后序序列
22.一棵二叉树的前序遍历序列为ABCDEFG,它的中序遍
历序列可能是( )
A.CABDEFG
B.ABCDEFG√ C.DACEFBG
D.ADCFEG 当该二叉树所有结点的左子树为空时,
2020/12/11
先序遍历序列和中序遍历序列相同。 9
23.已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历
是( )
A. 250
B. 500
C.254
D.501 √
完全二叉树中度为1的结点最多只有1个,由二叉树的度和 结点的关系 n=n0+n1+n2 n=n1+2n2+1 得n=2n0+n1-1
10. 设给定权值总数有n 个,其哈夫曼树的结点总数为( )
A.不确定 B.2n
C.2n+1
D.2n-1 √
哈夫曼树中没有度为1的节点,叶子节点个数为n

数据结构课件题目(附答案)

数据结构课件题目(附答案)

数据结构课件题目(附答案)… 第一章 1.算法的计算量的大小称为计算的。

A. 效率B. 复杂性C. 现实性D. 难度2.一个算法应该是。

A.程序B.问题求解步骤的描述C.要满足五个基本特性D.A和C. 3.下面说法错误的是(1)算法原地工作的含义是指不需要任何额外的辅助空间在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界同一个算法,实现语言的级别越高,执行效率就越低A.(1) B.(1),(2) C.(1),(4) D.(3) 4.在数据结构中,从逻辑上可以将之分为( D )。

A. 动态结构和静态结构 B. 紧凑结构和非紧凑结构 C. 内部结构和外部结构 D. 线性结构和非线性结构 5.计算算法的时间复杂度是属于一种( B )。

A. 事前统计的方法 B. 事前分析估算的方法 C. 事后统计的方法 D. 事后分析估算的方法 6.可以用( D )定义一个完整的数据结构: A. 数据元素 B. 数据对象 C. 数据关系 D. 抽象数据类型7.算法分析的目的是___C____。

A. 找出数据结构的合理性 B. 研究算法中的输入和输出的关系 C. 分析算法的效率以求改进 D. 分析算法的易懂性和文档性8.设计一个―好‖的算法应考虑达到的目标有___BCD___。

A. 是可行的 B. 是健壮的 C. 无二义性D. 可读性好第二章 1.线性表是具有n个的有限序列。

A.表元素B.字符C.数据元素D.数据项E.信息项 2.若线性表最常用的操作是存取第I个元素及其前驱和后继元素的值,为节省时间应采用的存储方式( A )。

A.单链表B.双向链表 C.单循环链表 D.顺序表 3.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用存储方式最节省运算时间。

A. 单链表 B. 仅有头指针的单循环链表 C. 双链表 D. 仅有尾指针的单循环链表 4.设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用( A )最节省时间。

部分习题参考答案(数据结构 李春葆)PPT课件

部分习题参考答案(数据结构 李春葆)PPT课件

//对应的队列为空队时
{
QH[x]=s;
QT[x]=s;
}
else
{
QT[x]->next=s; //将*s节点链到QT[x]所指节点之后
QT[x]=s;
//让QT[x]仍指向尾节点
}
}
16
void Create(QNode *QH[],QNode *QT[]) //根据用户输入创建队列
{
int n,x,i;
L->data[j+1]=L->data[j]; L->data[i]=x; L->length++; }
1
2.3 设计一个算法,将一个带头结点的数据域依次为a1,a2,…, an(n≥3)的单链表的所有结点逆置,即第一个结点的数据域变 为an,…,最后一个结点的数据域为a1。
void Reverse(LinkList *&L) { LinkList *p=L->next,*q;
}
printf("\n");
}
18
void main()
{
int i;
QNode *QH[MAXQNode],*QT[MAXQNode];
//各队列的队头QH和队尾指针QT
for (i=0;i<MAXQNode;i++)
QH[i]=QT[i]=NULL;
解:(1)A、D均合法,而B、C不合法。因为在B中,先 进栈一次,立即出栈三次,这会造成栈下溢。在C中共进 栈五次,出栈三次,栈的终态不为空。
10
(2)本题使用一个链栈来判断操作序列是否合法,其中A为存
放操作序列的字符数组,n为该数组的元素个数(这里的

计算机存储和组织数据方式之《数据结构》关于“树”的习题(PPT内含答案)


• 12.已知二叉树的先序遍历和后序遍历不能唯一确定这棵 二叉树,这是因为不知道根结点是哪一个。

(T )
• 7.树结构中的每个结点最多只有一个直接前驱。 (T )
• 8.完全二叉树一定是满二叉树。 (F)
• 9.由树转换成二叉树,其根结点的右子树一定为空。 (T )
• 10.在先序遍历二叉树的序列中,任何结点的子树的所有 结点都是直接跟在该结点之后。( F )
• 11.一棵二叉树中序遍历序列的最后一个结点,发家是该 二叉树先序遍历的最后一个结点。 ( T )
B.CBDGFEA D.CBEGFDA
• 8.某二又树的后序遍历序列为DABEC,中序遍历序列为
DEBAC,则先序遍历序列为( D )。
• A.ACBED C.DEABC
B.DECAB D.CEDBA
• 9.在完全二叉树中,如果一个结点是叶子结点,则它没 有( C )。
• A.左孩子结点
B.右孩子结点
• 5.对于二叉树来说,第i层上最多有___2i-1______个结点。 • 6.由三个结点构成的二叉树,共有____5_____种不同的
结构。
• 7.由一棵二叉树的先序序列和___中序____序列可唯一 确定这棵二叉树。
习题6
• 9.先序序列和中序序列相同的二叉树为单右枝二叉树或 孤立结点。
• 10.设一棵二叉树共有50个叶子结点(终端结点),则有 ______49______度为2的结点。
• A. 5
B. 6
• C. 7
D. 8
• 6.二叉树的先序遍历序列为ABC的不同二叉树有( C ) 种形态。
• A. 3
B. 4
• C. 5
D.6
习题6

部分习题参考答案(数据结构)PPT参考幻灯片共61页文档

部分习题参考答案(数据结构)PPT参 考幻灯片6、露 Nhomakorabea凝










7、翩翩新 来燕,双双入我庐 ,先巢故尚在,相 将还旧居。
8













9、 陶渊 明( 约 365年 —427年 ),字 元亮, (又 一说名 潜,字 渊明 )号五 柳先生 ,私 谥“靖 节”, 东晋 末期南 朝宋初 期诗 人、文 学家、 辞赋 家、散
文 家 。汉 族 ,东 晋 浔阳 柴桑 人 (今 江西 九江 ) 。曾 做过 几 年小 官, 后辞 官 回家 ,从 此 隐居 ,田 园生 活 是陶 渊明 诗 的主 要题 材, 相 关作 品有 《饮 酒 》 、 《 归 园 田 居 》 、 《 桃花 源 记 》 、 《 五 柳先 生 传 》 、 《 归 去来 兮 辞 》 等 。
1
0















谢谢
11、越是没有本领的就越加自命不凡。——邓拓 12、越是无能的人,越喜欢挑剔别人的错儿。——爱尔兰 13、知人者智,自知者明。胜人者有力,自胜者强。——老子 14、意志坚强的人能把世界放在手中像泥块一样任意揉捏。——歌德 15、最具挑战性的挑战莫过于提升自我。——迈克尔·F·斯特利

习题数据结构PPT课件

习题一、思考题列出图所示二叉树的叶结点、分支结点和每个结点的层次。

使用(1) 顺序表示和(2) 二叉链表表示法,分别画出图所示二叉树的存储表示。

在结点个数为n(n>1)的各棵树中,深度最小的树的深度是多少?它有多少个叶结点?多少个分支结点?深度最大的树的深度是多少?它有多少个叶结点?多少个分支结点?如果一棵树有n1个度为1的结点, 有n2个度为2的结点, …,n m个度为m的结点, 试问有多少个度为0的结点? 试推导之。

图试分别画出具有3个结点的树和3个结点的二叉树的所有不同形态。

试分别找出满足以下条件的所有二叉树:(1) 二叉树的前序序列与中序序列相同;(2) 二叉树的中序序列与后序序列相同;(3) 二叉树的前序序列与后序序列相同。

判断下列叙述的对错(1) 在一棵二叉树中,假定每个结点只有左子女,没有右子女,对它分别进行前序遍历和后序遍历,则具有相同的遍历结果。

(2) 在一棵二叉树中,假定每个结点只有左子女,没有右子女,对它分别进行中序遍历和后序遍历,则具有相同的遍历结果。

(3) 在一棵二叉树中,假定每个结点只有左子女,没有右子女,对它分别进行前序遍历和中序遍历,则具有相同的遍历结果。

(4) 在一棵二叉树中,假定每个结点只有左子女,没有右子女,对它分别进行前序遍历和按层遍历,则具有相同的遍历结果。

判断下列叙述的对错(1) 若有一个结点是二叉树中某个子树的中序遍历结果序列的最后一个结点,则它一定是该子树的前序遍历结果序列的最后一个结点。

(2) 若有一个结点是二叉树中某个子树的前序遍历结果序列的最后一个结点,则它一定是该子树的中序遍历结果序列的最后一个结点。

(3) 若有一个叶子结点是二叉树中某个子树的中序遍历结果序列的最后一个结点,则它一定是该子树的前序遍历结果序列的最后一个结点。

(4) 若有一个叶子结点是二叉树中某个子树的前序遍历结果序列的最后一个结点,则它一定是该子树的中序遍历结果序列的最后一个结点。

《数据结构与算法》各章试题22页PPT

《数据结构与算法》各 章试题
6、纪律是自由的第一条件。——黑格 尔 7、纪律是集体的面貌,集体的声音, 集体的 动作, 集体的 表情, 集体的 信念。 ——马 卡连柯
8、我们现在必须完全保持党的纪律, 否则一 切都会 陷入污 泥中。 ——马 克思 9、学校没有纪律便如磨坊没有水。— —夸美 纽斯
10、一个人应该:活泼而守纪律,天 真而不 幼稚, 勇敢而 鲁莽, 倔强而 有原则 ,热情 而不冲 动,乐 观而不 盲目。 ——马 克思
ห้องสมุดไป่ตู้
谢谢你的阅读
❖ 知识就是财富 ❖ 丰富你的人生
71、既然我已经踏上这条道路,那么,任何东西都不应妨碍我沿着这条路走下去。——康德 72、家庭成为快乐的种子在外也不致成为障碍物但在旅行之际却是夜间的伴侣。——西塞罗 73、坚持意志伟大的事业需要始终不渝的精神。——伏尔泰 74、路漫漫其修道远,吾将上下而求索。——屈原 75、内外相应,言行相称。——韩非
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章基础知识题(一)简述下列术语:数据、数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。

设n为正整数。

试确定下列各程序段中前置以记号@的语句的频度:(1) i=1;k=0;while(i<=n-1) {@ k += 10*i;i++;}(2)i=1;k=0;do {@ k += 10*i;i++;} while(i<=n-1);(3)i = 1;k = 0;while (i<=n-1) {i++ ;@ k+= 10 * i;}(4) k=0;for( i=1; i<=n; i++) {for (j=i ; j<=n; j++)@ k++;}(5) for( i=1; i<=n; i++) {for (j=1; j<=i; j++) {for (k=1; k<=j; k++)@ x += delta;}}(6) i=1;j=0;while (i+j<=n) {@ if (i>j ) j++ ;else i++ ;}(7) x=n; // n 是不小于1的常数y=0;while (x>=(y+1)*(y+1)) {@ y++;}(8) x=91;y=100;while (y>0 ) {@ if (x>100 ) { x -= 10; y- -; }else x++;}第二章编程练习题1. 设顺序表 a 中的数据元素递增有序。

试写一算法,将 x 插入到顺序表的适当位置上,以保持该表的有序性。

void InsertOrderList( SqList &a, ElemType x)// 已知顺序表 a 中的数据元素递增有序,将 x 插入到顺序表的适当位置上,// 以保持该表的有序性。

2. 设A=( ,…, ) 和B=( ,…, ) 均为顺序表,A' 和B' 分别为 A 和 B 中除去最大共同前缀后的子表(例如,A=(x,y,y,z,x,z),B=(x,y,y,z,y,x,x,z),则两者中最大的共同前缀为(x,y,y,z),在两表中除去最大共同前缀后的子表分别为A'=(x,z) 和 B'=(y,x,x,z))。

若A'= B'= 空表,则 A = B;若 A'= 空表,而B'≠ 空表,或者两者均不为空表,且 A'的首元小于 B'的首元,则 A<B;否则 A>B。

试写一个比较 A、B 大小的算法。

(请注意:在算法中,不要破坏原表 A 和 B,并且,也不一定先求得 A'和 B'才进行比较)char Compare(SqList A, SqList B)// 已知顺序表A和B, 返回 '<'(若 'A<B') 或 '='(若 'A=B') 或 '>'(若 'A>B')3. 已知线性表中的元素以值递增有序排列,并以单链表作存储结构。

试写一高效的算法,删除表中所有值大于 mink 且小于 maxk 的元素 (若表中存在这样的元素)同时释放被删结点空间。

(注意:mink 和 maxk 是给定的两个参数值,它们的值可以和表中的元素相同,也可以不同)void del_between_mink_and_maxk( LinkList& hlink, ElemType mink, ElemType maxk )// hlink 为指向单链表头结点的指针,删除链表中其值介于 mink 和 maxk 之间的结点。

4. 试写一算法,实现顺序表的就地逆置,即利用原表的存储空间将线性表( , …, ) 逆置为( , ,…, )。

void invert_sqlist(SqList& va)// 逆转顺序表 va5. 试写一算法,对单链表实现就地逆置。

void invert_linkst(LinkList& hlink)// 逆转以 hlink 为头指针的单链表6. 假设有两个按元素值递增有序排列的线性表 A 和 B,均以单链表作存储结构,请编写算法将 A 表和 B 表归并成一个按元素值递减有序(即非递增有序,允许表中含有值相同的元素)排列的线性表 C,并要求利用原表(即 A 表和 B 表)的结点空间构造 C 表。

void union_linkst( LinkList& lc, LinkList la, LinkList lb )// 将两个(分别以 la 和 lb 为头指针的)增序有序链表// 归并为一个逆序(非递增)有序链表,归并后的链表的头指针为 lc 。

7. 假设以两个元素依值递增有序排列的顺序表 A 和 B 分别表示两个非纯集合(即同一表中可能存在值相同的元素),现要求构成一个线性表 C,其元素为 A 和 B 中元素的交集,且表 C 中的元素也依值递增有序排列并各不相同,并要求 C 表和 A 表共享存储空间。

void intersect_sqlist( SqList& va, SqList vb )// va 和 vb 均为有序(值自小而大)顺序表,且同一表中可能有值相同的// 数据元素,本函数实现从 va 中删除所有值和 vb 中元素不相同的元素,// 并使最后所得的顺序表 va 中的数据元素值均各不相同。

8. 对单链表重新编写和题7相同要求的算法。

void intersect_linkst( LinkList& hc, LinkList ha, LinkList hb )// 构造有序链表 hc 表示"纯集合"C 为有序链表 ha 表示的// 非纯集合 A 和有序链表 hb 表示的非纯集合 B 的交集9. 已知 A、B 和 C 为三个递增有序的顺序表,现要求对 A 表作如下操作:删去那些既在 B 表中出现又在 C 表中出现的元素。

试对顺序表编写实现上述操作的算法,并分析你的算法的时间复杂度(注意:题中没有特别指明同一表中的元素值各不相同)。

void difference_sqlist( SqList& a, SqList b, SqList c )// 从增序顺序表 a 中删除那些既在 b 表中出现又在 c 表中出现的数据元素10. 对单链表重新编写和题9相同要求的算法。

void difference_linkst(LinkList& la, LinkList lb, LinkList lc)// 从增序有序链表 la 中删除那些既在 lb 表又在 lc 表中出现的数据元素11. 设有一个双向循环链表,每个结点中除有 pre、data 和 next 三个域外,还增设了一个访问频度域 freq。

在链表被起用之前,频度域 freq 的值均初始化为零,而每当对链表进行一次 LOCATE(L,x) 的操作后,被访问的结点(即元素值等于 x 的结点)中的频度域 freq 的值便增 1,同时调整链表中结点之间的次序,使其按访问频度非递增的次序顺序排列,以便始终保持被频繁访问的结点总是靠近表头结点。

试编写符合上述要求的 LOCATE 操作的算法。

DuLink visit( DuLinkList dh, ElemType x )// 本题要求返回指向被访问的结点的指针,若链表中不存在和 x 相等的元素,// 这返回 NULL。

dh 是指向双向循环链表头结点的指针,结点中还增设了一个// 访问频度域 freq,其初值为 0,一旦结点被访问,其访问频度域的值增 1,// 并始终保持链表中的结点按 freq 的值非递增排列12. 假设以如下说明的循环链表作稀疏多项式的存储结构,编写求其导函数的算法,要求利用原多项式中的结点空间存放其导函数(多项式),同时释放所有无用(被删)结点。

typedef struct PolyNode* PolyLink;struct PolyNode{PolyTerm data;PolyLink next;};typedef PolyLink LinkedPoly ;void difference ( LinkedPoly& pa )// 稀疏多项式 pa 以循环链表作存储结构,将此链表修改成它的导函数,// 并释放无用结点第三章进栈序列为123,则可能得到的出栈序列是什么?如果进栈序列为123456,则能否得到435612和135426的出栈序列,并请说明为什么不能得到。

简述栈和线性表的差别。

简述队列和栈这两种数据类型的相同点和差异处。

写出下列程序段的输出结果(栈的元素类型 SElemType 为 char)void main( ){Stack S;char x, y;InitStack(S);x='c'; y='k';Push(S, x); Push(S, 'a'); Push(S, y);Pop(S, x); Push(S, 't'); Push(S, x);Pop(S, x); Push(S, 's');while (!StackEmpty(S)) { Pop(S,y);printf(y); }printf(x);}简述以下算法的功能(栈的元素类型 SElemType 为int)status algo1(Stack S) {int i, n, A [255];n=0;while (!StackEmpty(S) ) { n++; Pop(S, A[n]); }for ( i=1; i<= n ; i++) Push(S, A[i]);}status algo2(Stack S, int e) {Stack T; int d;InitStack(T);while (!StackEmpty(S)) {Pop(S,d);if(d!=e ) Push(T, d);}while (!StackEmpty(T)) {Pop(T, d);Push(S, d);}}简述以下算法的功能(栈和队列的元素类型均为 int)void algo3(Queue &Q){Stack S; int d;InitStack (S);while (!QueueEmpty(Q)){DeQueue(Q, d); Push(S, d);}while (!StackEmpty(S)){Pop(S, d); EnQueue(Q, d);}}第四章简述空串和空格串(或称空格符串)的区别。

设s = ‘I AM A STUDENT’, t = ‘GOOD’, q = ‘WORKER’。

相关文档
最新文档