3

重複の可能性:
位置を指定して、リスト内の特定の要素を取得するにはどうすればよいですか?

したがって、Pythonでは、ランダムアクセス方式でリスト内の要素を取得できます。

list = [1,12,3]

print(list[1]) 

そしてそれは12...を印刷します。

C ++リストでも同じことができますか?

私はこれについて話している:http ://www.cplusplus.com/reference/stl/list/list/

4

4 に答える 4

9

C++ では、必要なものに最も近いものはベクトルになります。

std::vector<int> v;
v.push_back(1);
v.push_back(12);
v.push_back(3);
std::cout << v[1] << std::endl; // prints 12

提供されている反復子を使用して、ベクトルをトラバースすることもできます。ただし、ベクトルを変更 (挿入または消去) すると、無効になります。

提供される実際の List クラス (二重リンク リスト) は、この種の機能を提供しません。

于 2011-04-23T22:36:42.283 に答える
1

番号。std::list を使用する場合、リストを反復処理して特定の要素を見つける必要があります。リストは二重リンク リストであるため、ランダム アクセス演算子で要素にアクセスすることはできません。これは、リストを使用すると、リスト内の任意のポイントで挿入または削除するのが高速かつ効率的であるためです。したがって、最初の最初の要素は、リストを変更した後の 3 番目の要素になる可能性があります。

于 2011-04-23T22:38:30.590 に答える
1

あなたの質問が正しく理解できれば、あなたは配列について質問しています

int list[3(サイズ)] = {1,12,3};

cout << リスト [1];

于 2011-04-23T22:36:50.443 に答える
0

C++ STL リストについて話している場合、いいえ、それがリストの主な問題です。

于 2011-04-23T22:38:00.717 に答える