我有一个填充有 的矩阵* and -
,其中*
代表一个病毒和-
一个病毒的空闲点,我必须在我的矩阵中检查每个病毒的邻居,一个有效的邻居是另一个病毒而不是空闲点,以便确定它们的数量. 我必须检查的邻居是[row + 1][col]
、和[row - 1][col]
,总共四个邻居。我创建了一个函数来检查并涵盖所有情况,例如,如果我正在检查的元素是矩阵的角之一。我想出了一个非常长的 80 行函数,其中包含很多语句。除了必须编写 20 条语句之外,是否有一种有效的方法(即行数)来检查所有这些?[row][col + 1]
[row][col - 1]
if
if
问问题
551 次
1 回答
0
您可以做的是合并导致相同结果的 if 语句。这将导致代码更短(更易读),并且在某些情况下可以提高性能。
例如,如果您有:
if([row - 1][col])
// do A
else if([row][col + 1])
// do B
else if([row + 1][col])
// do A
那么你可以这样写:
if([row - 1][col] || [row + 1][col])
// do A
else if([row][col + 1])
// do B
这样做,你觉得你的代码需要进一步改进,请在Code Review上发帖。
于 2017-06-16T17:01:50.437 回答