当前位置:首页 C++ > 正文

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
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击