std::forward_list
是 C++ 标准库中的单向链表容器,与 std::list
相比,它更加轻量级且具有更高的插入和删除效率。然而,由于其单向性质,它不支持在任意位置进行快速的随机访问。
下面是一个简单的示例代码,展示了如何使用 std::forward_list
:
#include <iostream>
#include <forward_list>
int main() {
std::forward_list<int> flist {1, 2, 3};
flist.push_front(0); // 在链表头插入元素
for (int num : flist) {
std::cout << num << " "; // 遍历并输出元素
}
return 0;
}
运行上述代码,将输出:0 1 2 3,即在链表头插入了元素 0,并按顺序输出了所有元素。
std::forward_list
可以应用于那些只需要在链表头进行插入和删除操作,并不需要随机访问元素的场景,例如实现栈、实现散列表等。
需要注意的是,由于 std::forward_list 是单向链表,所以它只能从头到尾进行遍历,而不支持逆向遍历。如果您需要在遍历时经常进行反向操作,可能需要考虑使用 std::list
。