华南农业大学数据结构上机答案实验Word格式.docx

上传人:b****3 文档编号:16804084 上传时间:2022-11-26 格式:DOCX 页数:27 大小:18.17KB
下载 相关 举报
华南农业大学数据结构上机答案实验Word格式.docx_第1页
第1页 / 共27页
华南农业大学数据结构上机答案实验Word格式.docx_第2页
第2页 / 共27页
华南农业大学数据结构上机答案实验Word格式.docx_第3页
第3页 / 共27页
华南农业大学数据结构上机答案实验Word格式.docx_第4页
第4页 / 共27页
华南农业大学数据结构上机答案实验Word格式.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

华南农业大学数据结构上机答案实验Word格式.docx

《华南农业大学数据结构上机答案实验Word格式.docx》由会员分享,可在线阅读,更多相关《华南农业大学数据结构上机答案实验Word格式.docx(27页珍藏版)》请在冰豆网上搜索。

华南农业大学数据结构上机答案实验Word格式.docx

()

{

构造一个空栈S,该栈预定义大小为

请补全代码

(*)(*());

();

}

(e)

在栈S中插入元素e为新的栈顶元素

()

{(*)(,()*());

*;

若栈不空,则删除S的栈顶元素,用e返回其值,并返回;

否则返回

若栈不空,则用e返回S的栈顶元素,并返回;

*

(1);

(S)

返回栈S的元素个数

(S)

从栈顶到栈底依次输出栈中的每个元素

*p=(*)(());

p=;

请填空

()(;

);

(:

()请填空

(;

*p);

(;

\;

()

a;

S;

x,e;

((S))判断顺序表是否创建成功,请填空

(.\;

(1)

1\n2\n3\n4\n5\n0\:

();

(a)

1:

(;

);

(())(!

判断是否合法,请填空

!

x);

2:

(())(!

(!

e);

3:

(())(!

判断是否合法,请填空

4:

\(S));

5:

(S);

0:

1;

8584循环队列的基本操作

366通过次数:

157

创建一个空的循环队列,并实现入队、出队、返回队列的长度、返回队头元素、队列的遍历等基本算法。

请将下面的程序补充完整。

100最大队列长度(对于循环队列,最大队列长度要减1)

初始化的动态分配存储空间

头指针,若队列不空,指向队列头元素

尾指针,若队列不空,指向队列尾元素的下一个位置

构造一个空队列Q,该队列预定义大小为

0;

插入元素e为Q的新的队尾元素

(1));

[];

(1);

(,)

若队列不空,则删除Q的队头元素,用e返回其值,并返回;

否则返回

(Q,)

若队列不空,则用e返回队头元素,并返回,否则返回

(Q)

返回Q的元素个数

();

若队列不空,则从队头到队尾依次输出各个队列元素,并返回;

否则返回.

i;

([i]);

i=1;

eS;

判断入队是否合法,请填空

判断出队是否合法,请填空

8585栈的应用——进制转换

320通过次数:

203

利用顺序栈的基本操作算法,编写满足下列要求的数制转换程序:

对于输入的任意一个非负十进制整数,打印输出与其等值的八进制数。

-1

20存储空间初始分配量

(*)(*());

(*)(,()*());

*p;

}

{

(x)

(0)

(8);

(S);

8586括号匹配检验

679通过次数:

182

利用栈编写满足下列要求的括号匹配检验程序:

假设表达式中允许包含两种括号:

圆括号和方括号,其嵌套的顺序随意,即([]())或[([][])]等为正确的格式,[(]或([())或(()])均为不正确的格式。

输入一个包含上述括号的表达式,检验括号是否配对。

本题给出部分()函数,要求将()函数补充完整,并完成整个程序。

10存储空间初始分配量

2存储空间分配增量

()

{(*)(*());

{();

(e)

{(){

(*)(,()*());

{对于输入的任意一个字符串,检验括号是否配对

s;

[80],*;

((s))初始化栈成功

请输入表达式\;

(*p)没到串尾

(*p)

39;

(39;

:

[39(s,*p);

左括号入栈,且

)39;

]39((s))栈不空

弹出栈顶元素

(*39;

)3939;

(39*39;

]3939;

[39;

弹出的栈

顶元素与*p不配对

(39\;

跳出语句

栈空

(\;

其它字符不处理,指针向后移

((s))字符串结束时栈空

(\;

8587行编辑程序

578通过次数:

173

利用栈编写简单的行编辑程序:

接受用户从终端输入的程序或数据,在输入过程中,允许用户输入出差错,并在发现有误时可以及时更正。

例如:

当用户发现刚刚键入的一个字符是错的时,可以补进一个退格符“#”,以表示前一个字符无效;

如果发现当前键入的行内差错较多或难以补救,则可以键入一个退行符“@”,以表示当前行中的字符均无效。

假设从终端接受了这样两行字符:

(*s)(*);

则实际有效的是下列两行:

本题目给出部分函数,要求将行编辑函数补充完整,并完成整个程序。

{构造一个空栈S

{若栈S为空栈,则返回,否则返回

{把S置为空栈

{销毁栈S,S不再存在

{插入元素e为新的栈顶元素

(){

(*)(,(S.

)*());

{若栈不空,则删除S的栈顶元素,用e返回其值,并返回;

((*)())

{从栈底到栈顶依次对栈中每个元素调用函数()。

一旦()失败,则操作失败

(*);

(c)

{利用字符栈s,从终端接收一行并送至调用过程的数据区。

算法3.2

(s);

{();

\39;

3939();

仅当栈非空时退栈

3939(s);

重置s为空栈

有效字符进栈

从终端接收下一个字符

将从栈底到栈顶的栈内字符输出

8588表达式求值

182通过次数:

84

利用栈编写表达式求值程序:

输入含有“+”、“-”、“*”、“/”四则运算的表达式,其中负数要用(0-正数)表示,并以=结束。

要求输出表达式的值(两运算符号的优先关系见教材表3.1)。

此题目可选做。

1005

字符栈

a[];

(*s)

(1);

(*x)

((s))

{;

(*s,*x)

*[];

(*s)

{x;

x;

整形栈

1(1*s)

1(1*x)

(1(s))

1(1*s,*x)

1(1*s)

(4857)

(b)

c[7]={3939393939;

*39393939;

(3939;

)393939;

d[7][7]={

{3939393939393939393939393939;

},

)3939;

(0[i]){}

(0[j]){}

d[i][j];

{m;

*39;

*b;

m;

b;

1a;

1*;

1;

3939;

(3939(())3939;

(())

39;

039;

{*1039;

1();

(3939;

(())

{3939;

3939;

1();

(\);

8590队列的应用——银行客户平均等待时间

176通过次数:

83

某银行有一个客户办理业务站,在一天内随机地有客户到达,设每位客户的业务办理时间是某个范围内的值。

设只有一个窗口,一位业务人员,要求程序模拟统计在一天时间内,所有客户的平均等待时间。

模拟数据按客户到达的先后顺序依次由键盘输入,对应每位客户有两个数据,到达时刻和需要办理业务的时间。

0;

a[1000][3];

(0;

2)

([

i][j]);

(a[0][2]=01)

a[i][2][1][0][1][1][1][2][i][0];

(a[i][2];

0)

a[i][2]=0;

[i][2];

(.2;

());

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1