作业一
C语言代做 认真阅读和理解班级Unit.java是工作的一部分。 大致上,Unit对象包含一个整数,并且是四种可能的“类型”之一”。 对象“假设”两个邻居,左和右,当“要求”“适应”时,根据其“类型”改变整数本身和两个邻居”。 在没有左邻右舍的情况下,有两种特殊的“适应”形式。 如何在Unit中使用···
认真阅读和理解班级Unit.java是工作的一部分。 大致上,Unit对象包含一个整数,并且是四种可能的“类型”之一”。 对象“假设”两个邻居,左和右,当“要求”“适应”时,根据其“类型”改变整数本身和两个邻居”。 在没有左邻右舍的情况下,有两种特殊的“适应”形式。 如何在Unit中使用(public)功能,你必须通过仔细研究下面小节中给出的示例来弄清楚。
举例: C语言代做
参数R=3的轮数,和a五个单元对象的序列:
> java Experiment 3 a d g s d
0 a:1 d:2 g:3 s:4 d:5
1 a:3 d:0 g:7 s:5 d:0
2 a:7 d:0 g:8 s:0 d:0
3 a:8 d:0 g:7 s:0 d:0
NOREP
这里进行了三轮调整。 0只显示初始状态:我们看到了整数1,…,5被放入五个单元对象中。在每一轮中,五个单元对象中的每一个依次被考虑,从左到右,和要求调整自己及其两个相邻的数字(左、右边界只有一个相邻的),根据其类型(见Unit.Java)-大致“排序上升”、“排序下降”、“抓取”和“分散”。 在所有五个对象都执行了它们的操作之后,将显示新的状态(注意类型永远不会改变,只有整数)。输出“NOREP”意味着“不重复”,即没有一行等于前一行。
C语言代做
如果我们将R增加到4,那么在第四轮中,我们得到了一个重复的行,所以输出’REP’ 意味着重复。
> java Experiment 4 a d g s d
0 a:1 d:2 g:3 s:4 d:5
1 a:3 d:0 g:7 s:5 d:0
2 a:7 d:0 g:8 s:0 d:0
3 a:8 d:0 g:7 s:0 d:0
4 REP
我们可以用它来按降序(descending)排序:
> java Experiment 4 d d d d d
0 d:1 d:2 d:3 d:4 d:5
1 d:3 d:4 d:5 d:2 d:1
2 d:5 d:4 d:3 d:2 d:1
3 REP
升序(Ascending)排序也已经给出: C语言代做
> java Experiment 0 a a a a a
0 a:1 a:2 a:3 a:4 a:5
NOREP
> java Experiment 1 a a a a a
0 a:1 a:2 a:3 a:4 a:5
1 REP
只有含有‘greedy grabbers’,最后一个才能得到所有的东西
> java Experiment 1 g g g g g
0 g:1 g:2 g:3 g:4 g:5
1 g:0 g:0 g:0 g:0 g:15
NOREP
> java Experiment 2 g g g g g
0 g:1 g:2 g:3 g:4 g:5
1 g:0 g:0 g:0 g:0 g:15
2 REP C语言代做
只有“Scatterers”(他们必须把数值分配给左右),我们需要更多的时间,直到找到平衡。
> java Experiment 10 s s s s s
0 s:1 s:2 s:3 s:4 s:5
1 s:1 s:2 s:3 s:9 s:0
2 s:1 s:2 s:6 s:6 s:0
3 s:1 s:4 s:5 s:5 s:0
4 s:2 s:4 s:4 s:5 s:0
5 s:3 s:3 s:4 s:5 s:0
6 REP
我们看到,一旦发现重复,实验就停止了。让我们考虑一些极端的情况。 第一个长度序列最多一个:
> java Experiment -1
0
NOREP C语言代做
> java Experiment 0
0
NOREP
> java Experiment 1
0
1 REP
> java Experiment -1 a
0 a:1
NOREP
> java Experiment 0 a
0 a:1
NOREP
> java Experiment 1 a
5
0 a:1
1 REP
C语言代做
对于下一个序列,需要更长的时间才能达到稳定的情况(请注意,每一个动作都会改变一些东西,但在重复回合结束时,我们又回到了开始的地方):
> java Experiment 12 d a d g a s g s d a s d d s s a d d
0 d:1 a:2 d:3 g:4 a:5 s:6 g:7 s:8 d:9 a:10 s:11 d:12 d:13 s:14 s:15 a:16 d:17 d:18
1 d:1 a:4 d:0 g:0 a:11 s:0 g:20 s:10 d:0 a:14 s:18 d:14 d:13 s:7 s:0 a:24 d:18 d:17
2 d:0 a:4 d:0 g:0 a:6 s:0 g:36 s:14 d:0 a:9 s:23 d:13 d:7 s:0 s:0 a:24 d:18 d:17
3 d:0 a:4 d:0 g:0 a:3 s:0 g:53 s:9 d:0 a:11 s:25 d:7 d:0 s:0 s:0 a:24 d:18 d:17
4 d:0 a:4 d:0 g:0 a:1 s:0 g:64 s:11 d:0 a:12 s:20 d:0 d:0 s:0 s:0 a:24 d:18 d:17
5 d:0 a:4 d:0 g:0 a:0 s:0 g:76 s:12 d:0 a:10 s:10 d:0 d:0 s:0 s:0 a:24 d:18 d:17
6 d:0 a:4 d:0 g:0 a:0 s:0 g:88 s:10 d:0 a:5 s:5 d:0 d:0 s:0 s:0 a:24 d:18 d:17
7 d:0 a:4 d:0 g:0 a:0 s:0 g:98 s:5 d:0 a:2 s:3 d:0 d:0 s:0 s:0 a:24 d:18 d:17
8 d:0 a:4 d:0 g:0 a:0 s:0 g:103 s:2 d:0 a:1 s:2 d:0 d:0 s:0 s:0 a:24 d:18 d:17
9 d:0 a:4 d:0 g:0 a:0 s:0 g:105 s:1 d:0 a:1 s:1 d:0 d:0 s:0 s:0 a:24 d:18 d:17
10 d:0 a:4 d:0 g:0 a:0 s:0 g:106 s:1 d:0 a:0 s:1 d:0 d:0 s:0 s:0 a:24 d:18 d:17
11 d:0 a:4 d:0 g:0 a:0 s:0 g:107 s:0 d:0 a:0 s:1 d:0 d:0 s:0 s:0 a:24 d:18 d:17
12 REP
错误处理 C语言代做
参数R类型为long,并照常解析:
> java Experiment 10x s s
Exception in thread “main” java.lang.NumberFormatException:
For input string: “10x”
如果Unit.java中有任何字符串是错误的,则输出第一个这样的错误字符串
> java Experiment 10 s sj
ERROR: “sj”
4 functions C语言代做
在类Experiment中将提供四个公共函数(可作为库函数自己的,并为实现Experiment的主要功能)。 三个通用函数,用于一般编程目的,一个函数用于执行一轮:
- Function copy:
它接受一个参数,一个Unit.java的数组,并返回一个“deep copy”(深度副本)在这个数组中(对于每个单元对象,一个新的Unit–object,等于相应的输入数组中的元素)。
- Function equals:
它接受两个Unit–arrays,并返回一个布尔值,if True仅当两个数组相等(在自然意义上)。
- Function toString:
它使用适当的方法将Unit–array转换为字符串Unit–object的翻译,由一个空格分隔(没有前导或尾随空格)。
- Function round:
以unit–array 作为参数,在这个数组上执行一轮调整(对于每个元素,从左到右)。 返回的是布尔值,如果它是正确的,仅当在回合后准确地获得旧的输入。 (提示:在这里
上述两个函数将被使用! )
所有四个函数都应该能够处理任意输入(而不仅仅是由您产生的输入申请)。 这包括空值和极端情况,如空数组等等。
The main function C语言代做
如果有零命令行参数,则返回学生学号和姓名,例如
> java Experiment
123456 “abc”
更多代写:Python代码编写 math代考 assignment英国代写 media essay代写 paper代写 代写留学生生物作业