zoukankan      html  css  js  c++  java
  • 使用流迭代器, sort, co…

    int main ()
    {
        cout << "Please input some numbers:" << endl;

        //定义输入流迭代器和尾后迭代器
        istream_iterator input_number_it (cin), eof;
        //用迭代器与尾后迭代器初始化vector
        vectornumbers(input_number_it, eof);

        sort (numbers.begin (), numbers.end ());
        //定义输出流迭代器, 其输出的每个值后面都输出一个" "
        ostream_iterator output_numbers (cout, " ");
        /*
            输出方式也可以使用以下两种:
            for(auto e : numbers)
                *output_numbers++ = e;
           
            for(auto e : numbers)
                output_number = e;
            以上两者均可, 推荐前一种,
            想修改为其他迭代器时更为方便
        */
        //使用copy更为简单
        copy (numbers.begin (), numbers.end (), output_numbers);
        cout << endl;
        return 0;
    }

    开始我输入类似123124234234234内容后, 输入中断, 输出为空, 输出numbers.size()之后发现为0, 后来发现是因为超出了int的范围 = =! 将int改为long long可以解决, 或者输入的内容在int范围之内也可以, 我希望可以在输入时检查输入的合法性, 但目前不知从何入手, 希望在接下来的学习中可以找到办法.
  • 相关阅读:
    SCOI2020游记
    关于我
    WC2020游记
    CSP-S 2019 游记
    回文自动机学习笔记
    全自动数字论证机(迫真)
    树状数组上二分
    《伊豆的舞女》 读书小记
    雅礼集训2019 Day5
    雅礼集训2019 Day4
  • 原文地址:https://www.cnblogs.com/wuOverflow/p/4098740.html
Copyright © 2011-2022 走看看