c ++中是否有任何方法可以在随机访问的列表中获取元素

Is there any method in c++ to get an element in a list with random access?

本文关键字:访问 随机 获取 元素 列表 是否 任何 方法      更新时间:2023-10-16

我搜索了很多,但我没有找到任何像 java 中的"get"这样的方法。我的问题如下:

我在 for 内部有一个 for,我需要比较列表中的元素"i",就像在 java 中一样,但在 c++ 中

for(int i = 0; i< x; i++){
   if(list.get(i) == NULL)
}

列表没有随机访问,所以没有。 std::list是一个链表。

使用具有随机访问功能的内容,例如 std::vector

另外,我建议在用C++编写时忘记你所知道的关于Java的一切。
它们是不同的语言:来自一种语言的知识通常不能应用于另一种语言。

std::list 是一个链表: https://en.wikipedia.org/wiki/Linked_list

您无法通过索引访问其元素,因为它需要使用 O(n) 遍历列表,并且很容易被滥用,从而导致代码缓慢。唯一的方法是显式使用迭代器。

std::list

STL(C++)中不是"可索引的"。 请尝试使用vector