2016-03-20 13 views
0

隣接リストに関する質問があります。これは私が使用しているサンプルリストです。コード(C++)で隣接リストの要素を取得する

enter image description here

は、私はいくつかの一般的な要素のリストのベクトルとしてこれを実装しています。だからvector<list<element>>。この場合、要素A, C, D, H, K, L, Nはすべてベクトル内にあります。私の質問は、特定の要素をつかんでいます。 forループを使用してベクトルadjListを反復処理するとします。ベクトルから要素を取得するには、*vector name*[i]とし、要素自体を取得します。しかし、ベクトルの要素がリストの始まりであるときはどうなるのでしょうか?要素Dだけが欲しいとします。それを得るには、私はadjList[3]と言います。それはちょうどDをつかむだろうか?または、Dで始まる全リストを取得すると言っていますか?私はリスト全体を望んでいない、ちょうどDがほしいと思う。それがリスト全体を把握していれば、私が望む要素をどのようにつかむことができるのでしょうか?誰かが説明を助けることができますか

+0

これは 'std :: vector'と' std :: list'ですか? –

+0

はい、標準ベクトルとリストです。 – GenericUser01

答えて

1

あなた自身を書くときには、vector<list<element>>があります。つまり、adjList[i]リストになります。あなたのA、Cは、Dの要素は、あなたがあまりにもリストの残りの部分で作業する必要があります場合は、後者が役に立つかもしれadjList[i].front()、または冗長に、

list<element> l = adjList[i]; 
element D = l.front(); 

としてアクセスされています。

+0

さて、それは理にかなっています。私はそれが私にリストを与えるかどうか分からなかったが、今私は理解する。私のためにそれをクリアしていただきありがとうございます。 – GenericUser01

関連する問題