C++ std::list 的 remove_if方法

在C++ STL 中,std::list 是一个双向链表容器,提供了 remove_if 方法用于在列表中移除满足特定条件的元素。remove_if 方法接受一个谓词函数(predicate function)作为参数,用于判断是否移除当前元素。下面是一个示例代码,演示如何使用 remove_if 方法从 std::list 中移除满足特定条件的元素:

cpp 复制代码
#include <iostream>
#include <list>
#include <algorithm>

// 定义一个谓词函数,用于判断是否移除元素
bool isOdd(int num) {
    return num % 2 != 0;
}

int main() {
    std::list<int> myList = {1, 2, 3, 4, 5, 6, 7, 8, 9};

    // 移除列表中的奇数元素
    myList.remove_if(isOdd);

    // 打印移除元素后的列表
    for (const auto& elem : myList) {
        std::cout << elem << " ";
    }
    std::cout << std::endl;

    return 0;
}

在这个示例中:

  • isOdd 是一个谓词函数,用于判断一个整数是否是奇数。
  • myList.remove_if(isOdd) 使用 remove_if 方法移除列表中所有奇数元素。
  • 最后通过循环遍历列表,打印移除元素后的列表内容。

你可以根据自己的需求定义不同的谓词函数,用于判断是否移除特定的元素。这是使用 std::listremove_if 方法的一个简单示例。

相关推荐
码匠许师傅6 小时前
【C++ 面试真题】聊聊 C++ 的移动语义与右值引用
java·c++·面试
小小龙学IT7 小时前
DuckDB 深度实战:用 C++ 在进程内跑一个「分析型数据库」
数据库·c++
知无不研9 小时前
lambda表达式的使用(3)
开发语言·c++·lambda
C++ 老炮儿的技术栈10 小时前
基于Qt实现轻量化本地音乐播放器
开发语言·c++·qt·c·播放器·音乐
qz_Serene12 小时前
C++:类和对象(上)
开发语言·c++
郝学胜-神的一滴13 小时前
干货版《算法导论》17:二叉树核心原理、遍历逻辑与高阶实操全解
数据结构·c++·python·算法·计算机·编程
hetao173383714 小时前
2026-08-09~08-14 hetao1733837 的刷题记录
c++·算法
间歇性努力持续性发呆的野生快乐选手16 小时前
栈的性质(进栈,出栈,访问)
数据结构·c++
旖旎夜光17 小时前
LeetCode 904:水果成篮(滑动窗口) —— 题解
数据结构·c++·算法·leetcode·滑动窗口
hansang_IR17 小时前
【题解】P14468 [COCI 2025/2026 #1] 和谐 / Harmonija(线段树 DDP 版本)
c++·算法·动态dp