c ++中是否有任何方法可以在随机访问的列表中获取元素
Is there any method in c++ to get an element in a list with random access?
我搜索了很多,但我没有找到任何像 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
。
相关文章:
- 为什么 vector 的随机访问迭代器给出与指针不同的内存地址?
- 读取大文件(>2GB)(文本文件包含以太网数据)并通过不同参数随机访问数据的最佳方法是什么?
- 一种有效的数据结构,用于按 ID 访问和查找加权随机项
- 如何为我的容器实现随机访问迭代器?
- 对于C++随机访问迭代器(矢量迭代器),迭代器之间的差异是如何计算的?
- 对于随机访问迭代器(矢量迭代器),迭代器C++样式指针吗?
- 访问随机图像像素的快速方法,最多一次
- 用于随机数据访问的最有效文件类型
- Deque 中元素的随机访问如何提供恒定的时间复杂度?
- C++ STL 数据结构常时按索引推送/弹出/随机访问,并具有指向元素的可靠指针
- SFINAE - 检测类型 T 是指针、数组还是带有随机访问运算符的容器,以及给定的值类型
- 随机访问迭代器:我错过了什么?
- 更快地访问 C++ 数组中的随机元素
- 随机访问元组向量中的元组值
- 有没有办法在C++中制作无锁"counter"随机访问迭代器?
- 当 95% 情况下的值为 0 或 1 时,对非常大的数组进行随机访问的任何优化
- 如何确保函数模板的参数是随机访问迭代器
- C++基于现有随机访问迭代器的反向迭代器
- C++ 写入随机访问文件
- 我是否可以在C++程序之外使用随机内存地址访问随机数据