首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何删除forward_list的最后一个元素?

要删除forward_list(前向链表)的最后一个元素,可以使用迭代器进行操作。由于forward_list只允许单向遍历,所以需要通过遍历整个链表来找到倒数第二个元素,并将其的next指针指向nullptr。

下面是一个示例代码来演示如何删除forward_list的最后一个元素:

代码语言:txt
复制
#include <iostream>
#include <forward_list>

int main() {
    std::forward_list<int> mylist = {1, 2, 3, 4, 5};

    auto it = mylist.before_begin(); // 迭代器指向第一个元素之前的位置

    // 遍历链表,找到倒数第二个元素
    for (auto prev = it; ++prev != mylist.end(); ++it)
        ;

    mylist.erase_after(it); // 删除最后一个元素

    // 打印删除后的forward_list
    for (auto& x : mylist) {
        std::cout << x << " ";
    }
    std::cout << std::endl;

    return 0;
}

运行结果为:

代码语言:txt
复制
1 2 3 4

需要注意的是,forward_list的删除操作需要注意空链表和只有一个元素的链表的情况,因为它们没有倒数第二个元素。

关于forward_list的更多信息和使用示例,可以参考腾讯云的相关文档:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券