🔴 一个能通用,一个不能

👁️ 2 人浏览 💬 0 人评论 ❤️ 添加收藏

(本条路线统一用 g++ -std=c++17 -O0 -Wall 编译)

#include <iostream>
#include <algorithm>
#include <list>
#include <vector>

int main() {
    /* std::sort 要求迭代器"能随便跳",list 的只能一步步走,
       所以 list 自带一个 sort 成员 */
    std::vector<int> v{5, 3, 9};
    std::sort(v.begin(), v.end());

    std::list<int> l{5, 3, 9};
    l.sort();

    /* 而 std::find 只要求"能走一遍",两个容器都能用同一个 */
    auto iv = std::find(v.begin(), v.end(), 9);
    auto il = std::find(l.begin(), l.end(), 9);

    std::cout << v.front() << "/" << l.front() << "/"
              << (iv != v.end()) << "/" << (il != l.end()) << "\n";
    return 0;
}
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论