📅  最后修改于: 2023-12-03 14:52:40.920000             🧑  作者: Mango
在C++中,我们可以使用 std::list
来创建一个双向链表。在一个列表中,我们可以通过索引或者迭代器来获取特定位置的元素。
下面是一个示例程序,展示了如何在C++中的列表中的特定位置获取元素:
#include <iostream>
#include <list>
int main() {
// 创建一个列表
std::list<int> myList;
// 添加元素到列表中
myList.push_back(10);
myList.push_back(20);
myList.push_back(30);
myList.push_back(40);
// 通过索引获取特定位置的元素
int index = 2; // 要获取元素的位置(索引从0开始)
if (index >= 0 && index < myList.size()) {
auto it = myList.begin();
std::advance(it, index);
int element = *it;
std::cout << "通过索引获取的元素为: " << element << std::endl;
}
else {
std::cout << "无效的索引" << std::endl;
}
// 通过迭代器获取特定位置的元素
auto it = myList.begin();
std::advance(it, 3); // 将迭代器移动到目标位置
int element = *it;
std::cout << "通过迭代器获取的元素为: " << element << std::endl;
return 0;
}
运行结果:
通过索引获取的元素为: 30
通过迭代器获取的元素为: 40
在上面的示例中,我们首先创建了一个列表 myList
,并添加了一些元素。然后,我们通过索引获取特定位置的元素,需要确保索引有效。另外,我们还展示了如何使用迭代器获取特定位置的元素,通过调用 std::advance
函数将迭代器移动到目标位置,然后通过解引用迭代器来获取元素的值。
希望这个简单的示例能够帮助你理解如何在C++中的列表中获取特定位置的元素。