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

如果我正确理解您的问题,那么您是在询问数组

整数列表[3(大小)] = {1,12,3};

cout <<列表[1];

于 2011-04-23T22:36:50.443 回答
1

不。如果您使用 std::list ,则必须遍历列表以查找特定元素,因为列表是双链表,因此无法使用随机访问运算符访问元素。那是因为使用列表,在列表中的任何位置插入或删除都是快速有效的,因此开始的第一个元素可能是修改列表后的第三个元素。

于 2011-04-23T22:38:30.590 回答
0

如果您谈论的是 C++ STL 列表,不,这是列表的主要问题。

于 2011-04-23T22:38:00.717 回答