以下是使用C++编程实现移出容器中的偶数的示例代码:

#include <iostream>
#include <vector>
#include <list>
#include <map>

// 移出vector中的偶数
void removeEvenNumbers(std::vector<int>& vec) {
    vec.erase(std::remove_if(vec.begin(), vec.end(), [](int num) { return num % 2 == 0; }), vec.end());
}

// 移出list中的偶数
void removeEvenNumbers(std::list<int>& lst) {
    lst.remove_if([](int num) { return num % 2 == 0; });
}

// 移出map中的偶数
void removeEvenNumbers(std::map<int, int>& mp) {
    for (auto it = mp.begin(); it != mp.end();) {
        if (it->second % 2 == 0) {
            it = mp.erase(it);
        } else {
            ++it;
        }
    }
}

int main() {
    // 创建vector并填充数据
    std::vector<int> vec;
    for (int i = 1; i <= 10000; ++i) {
        vec.push_back(i);
    }

    // 移出vector中的偶数
    removeEvenNumbers(vec);
    std::cout << "Vector size after removing even numbers: " << vec.size() << std::endl;

    // 创建list并填充数据
    std::list<int> lst;
    for (int i = 1; i <= 10000; ++i) {
        lst.push_back(i);
    }

    // 移出list中的偶数
    removeEvenNumbers(lst);
    std::cout << "List size after removing even numbers: " << lst.size() << std::endl;

    // 创建map并填充数据
    std::map<int, int> mp;
    for (int i = 1; i <= 10000; ++i) {
        mp[i] = i;
    }

    // 移出map中的偶数
    removeEvenNumbers(mp);
    std::cout << "Map size after removing even numbers: " << mp.size() << std::endl;

    return 0;
}

这段代码首先创建了一个包含1到10000的整数的vector、list和map容器。然后,我们定义了三个函数removeEvenNumbers来移出容器中的偶数。对于vector和list容器,我们使用了容器自带的eraseremove_if函数来移除偶数。对于map容器,我们使用迭代器遍历map,并通过判断值的奇偶性来决定是否移除该元素。

最后,我们在main函数中分别调用了这三个函数,并输出移除偶数后容器的大小

分别对一个 vector、list、map 容器有 100001-10000个数编程实现移出其中的偶数 用c++

原文地址: https://www.cveoy.top/t/topic/iyHk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录