0

我有一个填充有 的矩阵* and -,其中*代表一个病毒和-一个病毒的空闲点,我必须在我的矩阵中检查每个病毒的邻居,一个有效的邻居是另一个病毒而不是空闲点,以便确定它们的数量. 我必须检查的邻居是[row + 1][col]、和[row - 1][col],总共四个邻居。我创建了一个函数来检查并涵盖所有情况,例如,如果我正在检查的元素是矩阵的角之一。我想出了一个非常长的 80 行函数,其中包含很多语句。除了必须编写 20 条语句之外,是否有一种有效的方法(即行数)来检查所有这些?[row][col + 1][row][col - 1]ifif

https://pastebin.com/2f7YpreZ这是我写的代码

4

1 回答 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 回答