..我必须在java中使用一段代码,但我不了解它的某些部分。
代码使用来自另一个文档中的简单队列的方法(。isEmpty()等)。
支持调查一个数组(在每个地址中都有链接列表)并使用其值执行某种处理。
问题是我不知道标记[s] = true; ,标记[tv] = true; 和 parent [tv] = k ; 是,它们如何作为变量(?)
void BFS(int s)
{
Queue<Integer> Q = new Queue<Integer>();
marked[s] = true;
Q.put(s);
while (!Q.isEmpty())
{
k = Q.get();
for (Node t = adj[k]; t != null; t = t.next)
if (!marked[t.v]) {
marked[t.v] = true;
parent[t.v] = k;
Q.put(t.v);
}
}
}
}
编辑:我写了矩阵而不是数组,抱歉。
答案 0 :(得分:1)
SSLContext
marked[]
和parent
都是数组。
adj
是一个t
对象。该节点对象将具有名为Node
的成员变量。因此,v
会在t.v
对象v
中获取变量Node
的值。
t
在数组中找到索引等于marked[t.v]
的元素。例如如果t.v
等于0,那么您将获取t.v
,这是marked[0]
数组中的第一个元素。