3-1作业
3-1作业
1.东东哥不会做加法运算。需要大家写个程序帮助东东哥进行运算。
要求:输入需要计算的两个整数,之后用链表来存放这两个整数(一个链表存放一个数据,链表
中的每个结点只包含一个数字)。并要求链表需要以逆序的方式存放这些数据。形式如下:
输入:103 286
链表存储为:3->0->1 6->8->2
运算:(3–>0->1) + (6 -> 8-> 2) 即是103 + 286 = 389
请编写相关程序给东东哥使用。
如果数字按照正常的顺序存储在相对应的链表中,那又该如何计算?
|
2.东东哥在出复合计算的数学题目,但是他只有七秒钟的记忆,前一秒写的东西后一秒就忘了。需
要大家写个程序帮助东东哥。帮忙判断一下他出的题目是否是合乎基本的运算法则的。
例子:
东东哥出的题目:((1+2)+3)判断:题目正确
东东哥出的题目:((1+2+3)判断:错误
东东哥出的题目:(1+2+3)+(5+6) 判断:题目正确
东东哥出的题目:(1+2+3)+5+6) 判断:错误
|
3. 东东哥听到图灵机跟他说咱们学到队列了。他不信,想让大家实现一个队列。但是他事儿又比较
多,想让大家用栈结构来实现队列。请大家设计一个算法,使用栈来实现队列的操作。
同时他觉得大家都能用栈实现队列了,那用队列实现栈操作应该也是轻而易举的。所以请再书写
一个算法,用队列实现栈。
用栈实现队列
|
用队列实现栈
|
东东哥做了一个员工食堂,但是他比较抠门,只提供了两种食品,分别是烤乳猪和烤兔,烤乳猪
和烤兔分别用数字0和数字1表示。前面也说了,他事儿比较多,又不允许员工自由选择。(食物提供的
数量和员工数量一致)
此时员工在排队,东东哥定下了一个食堂取餐规则:
如果队列最前面的员工喜欢栈顶的食物,那么就会拿走他,并且离开队列。
如果这个员工不喜欢栈顶的食物,那么就放弃食物回到队伍的最后方。
如果队列里的员工都不喜欢栈顶的食物,那么今天的食堂就关门了。爱干啥干啥去‘
输入两组数据,比如:食物 1 1 0 0 (第一个元素是栈顶元素) 员工 0 1 0 1 (员工的0和1
代表跟他们喜欢哪种食物)请计算出来没有吃到午餐的员工的数量。比如上述数据返回0 代表全
都能吃到午餐。
|
前面说到,东东哥事儿比较多,他看到员工排队,觉得排队排的不好,他想要改变员工的站位。
他让第一个和第二个员工交换位置,第三个和第四个员工交换位置,依次类推。
要求:用单链表实现操作,并且不能改变结点的值。只允许移动结点。
比如 1-> 2 -> 3 -> 4 改变完以后 2 -> 1 -> 4 -> 3
|
发布于