c++中STL模板的insert_after()能用于双向链表吗
作者:野牛程序员:2023-09-13 10:30:14 C++阅读 2660
insert_after()
函数是C++ STL中专门为单向链表 (std::forward_list
) 设计的函数,因此不能用于双向链表 (std::list
)。在双向链表中,应该使用不同的函数 insert()
来插入元素。
以下是在双向链表中使用 insert()
插入元素的示例:
#include <iostream> #include <list> int main() { std::list<int> myList = {10, 20, 30}; // 在指定位置插入元素 std::list<int>::iterator it = myList.begin(); ++it; // 移动到第二个元素位置 myList.insert(it, 25); // 遍历链表并打印元素 std::cout << "链表内容:"; for (std::list<int>::iterator it = myList.begin(); it != myList.end(); ++it) { int num = *it; // 获取当前节点的值 std::cout << num << " "; } std::cout << std::endl; return 0; }
在上述示例中,使用 insert()
函数在双向链表 myList
中的指定位置之前插入一个新元素。这个函数适用于双向链表,而 insert_after()
是用于单向链表的。请根据所使用的链表类型选择合适的插入函数。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
