1、 ( ) 构造一个空栈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: (;, );() (
2、 ! 判断是否合法,请填空 ( !, x); 2: () ( ! ( !, e); 3: ()( ! 判断 是否合法,请填空 4:(S); 5: (S); 0: 1;8584 循环队列的基本操作366 通过次数:157 创建一个空的循环队列,并实现入队、出队、返回队列的长度、返回队头元素、队列的遍历等基本算法。请将下面的程序补充完整。 100 最大队列长度(对于循环队列,最大队列长度要减1) 初始化的动态分配存储空间 头指针,若队列不空,指向队列头元素 尾指针,若队列不空,指向队列尾元素的下一个位置 构造一个空队列Q,该队列预定义大小为0; 插入元素e为Q的新的队尾元素(1) ;(1); (
3、, ) 若队列不空, 则删除Q的队头元素, 用e返回其值, 并返回; 否则返回 ( Q, ) 若队列不空,则用e返回队头元素,并返回,否则返回 ( Q) 返回Q的元素个数 (); 若队列不空,则从队头到队尾依次输出各个队列元素,并返回;否则返回. i;( i);i = 1; e S; 判断入队是否合法,请填空 判断出队是否合法,请填空8585 栈的应用进制转换320 通过次数:203 利用顺序栈的基本操作算法,编写满足下列要求的数制转换程序:对于输入的任意一个非负十进制整数,打印输出与其等值的八进制数。 -1 20 存储空间初始分配量( *)(*();( *)(,()*(); *p; ( x)
4、(0)(8);(S);8586 括号匹配检验679 通过次数:182 利用栈编写满足下列要求的括号匹配检验程序:假设表达式中允许包含两种括号:圆括号和方括号,其嵌套的顺序随意,即()或()等为正确的格式,(或()或()均为不正确的格式。输入一个包含上述括号的表达式,检验括号是否配对。本题给出部分()函数,要求将()函数补充完整,并完成整个程序。 10 存储空间初始分配量 2 存储空间分配增量 ( )(*)(*();() ; ( e)()(*)(,()*(); 对于输入的任意一个字符串,检验括号是否配对 s; 80,*;(s) 初始化栈成功请输入表达式;(*p) 没到串尾(*p) 39;(39;
5、:39(s,*p); 左括号入栈,且)39;39(s) 栈不空 弹出栈顶元素(*39;)3939;(39*39;3939;39;) 弹出的栈 顶元素与*p不配对(39 ; 跳出语句 栈空( ; 其它字符不处理,指针向后移(s) 字符串结束时栈空(;8587 行编辑程序578 通过次数:173 利用栈编写简单的行编辑程序:接受用户从终端输入的程序或数据,在输入过程中,允许用户输入出差错,并在发现有误时可以及时更正。例如:当用户发现刚刚键入的一个字符是错的时,可以补进一个退格符“#”,以表示前一个字符无效;如果发现当前键入的行内差错较多或难以补救,则可以键入一个退行符“”,以表示当前行中的字符均无
6、效。假设从终端接受了这样两行字符: (*s) (*); 则实际有效的是下列两行: 本题目给出部分函数,要求将行编辑函数补充完整,并完成整个程序。 构造一个空栈S 若栈S为空栈,则返回,否则返回 把S置为空栈 销毁栈S,S不再存在 插入元素e为新的栈顶元素()(*)(,(S. )*(); 若栈不空,则删除S的栈顶元素,用e返回其值,并返回; ( (*)() 从栈底到栈顶依次对栈中每个元素调用函数()。 一旦()失败,则操作失败(*); ( c) 利用字符栈s,从终端接收一行并送至调用过程的数据区。算法3.2(s); ();39;) 3939(); 仅当栈非空时退栈 3939(s); 重置s为空栈
7、 有效字符进栈 从终端接收下一个字符 将从栈底到栈顶的栈内字符输出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) c7=3939393939;*39393939;(3
8、939;)393939; d77=3939393939393939393939393939;,) 3939;(0i)(0j) dij; m;*39;*b; m; b; 1 a; 1 *;1;3939;(3939()3939;()39;039; *1039;1(); (3939; () 3939; 3939; 1(); ();8590 队列的应用银行客户平均等待时间176 通过次数:83 某银行有一个客户办理业务站,在一天内随机地有客户到达,设每位客户的业务办理时间是某个范围内的值。设只有一个窗口,一位业务人员,要求程序模拟统计在一天时间内,所有客户的平均等待时间。模拟数据按客户到达的先后顺序依次由键盘输入,对应每位客户有两个数据,到达时刻和需要办理业务的时间。 0; a10003;(0;2)( ij);(a02=01)ai2101112i0;(ai2;0)ai2=0;i2;(.2;,();
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1