可能是重复问题:
如何根据位置获取列表中的某个元素?
在 Python 中,您可以以随机访问的方式获取列表中的元素...
list = [1,12,3]
print(list[1])
它打印出12...
使用C++列表,您能做同样的事情吗?
可能是重复问题:
如何根据位置获取列表中的某个元素?
在 Python 中,您可以以随机访问的方式获取列表中的元素...
list = [1,12,3]
print(list[1])
它打印出12...
使用C++列表,您能做同样的事情吗?
在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类(即双向链表)不提供这种功能。
std::deque
。 - Evan Teran如果你使用std::list,你必须通过迭代列表来查找特定的元素,因为列表是双向链表,不能使用随机访问运算符访问元素。
这是因为在列表中,快速高效地在任何位置插入或删除元素,所以在修改列表后,最开始的第一个元素可能变成了第三个元素。
O(1)
的随机访问。在链表上进行随机访问的最佳方法是O(n)
。 - In silico