在邻接列表中获取元素

时间:2016-03-20 01:18:26

标签: c++ list vector adjacency-list

我对邻接列表有疑问。这是我正在使用的示例列表。

enter image description here

在代码(C ++)中,我将其实现为一些通用元素的列表向量。所以vector<list< element >>。在这种情况下,元素A, C, D, H, K, L, N都在向量中。我的问题是抓住一个特定的元素。假设我使用for循环迭代向量adjList。要从向量中获取元素,您可以说*vector name*[i]并且它自己获取元素。但是当向量中的元素是列表的开头时它会怎么做?假设我只想要元素D。为此,我说adjList[3]。这会抓住D吗?或者说会抓住从D开始的整个列表?我不想要整个列表,我只想要D。如果它抓住整个列表,我怎么能让它抓住我想要的一个元素?有人可以帮忙解释一下吗?

1 个答案:

答案 0 :(得分:1)

当你自己写作时,你有一个let input = inputStr.utf8 let n = input.count var output = [Bool](count: n, repeatedValue: false) let one = UInt8(49) // 1 for (idx, char) in input.enumerate() { if char == one { output[idx] = true } } 。这意味着vector<list< element >>会为您提供列表。您的A,C,D元素可以adjList[i]或详细地访问

adjList[i].front()

如果您还需要使用列表的其余部分,后者可能会很有用。