我试图从书中的伪代码编写代码,并且他们的语法有点困惑。特别是第二个循环。这是两个循环
for j = 1 to t - 1
z.k = y.k
for j = x.n + 1 downto i + 1
x.c[j + 1] = x.c[j]
这些在java中会是什么样子?这是我对第一个循环的猜测。它会是j<或者j< =?
for(int j = 1; j < t - 1; j++){
}
对于第二个循环,我不明白在Java中会映射到什么样的市场。这是我的猜测。再次,它会是&gt;或&gt; =?
for (j = x.n + 1; j > i + 1; j--){
}
答案 0 :(得分:0)
在Java
中,j < t - 1
表示循环执行的j
的最后一个值是j = t - 2
。
通常情况下,for j = 1 to t - 1
会被翻译为for(int j = 1; j < t; j++)
或for(int j = 1; j <= t - 1; j++)
。
对于第二个循环,downto
通常表示minimum value
表示索引(包含)。
因此,j = x.n + 1 downto i + 1
会转换为for (j = x.n + 1; j >= i + 1; j--)
或for (j = x.n + 1; j > i; j--)
。
根据我的经验,to
和downto
是指包含值,因此这意味着>=
或<=
。
但正如pvg在评论中所说,最好的方法是从上下文中找出它或者在书中搜索作者的澄清。
答案 1 :(得分:-1)
从查看伪代码我推断出与你相同的结果。
关于&#34;它的问题是&gt;或&gt; =?&#34;我想这是一个选择问题,因为这应该在伪代码中以比较符号的形式指定,而不是用文本写的。
溴