天天看点

第三章 3.25 3.26

3.3.3划分数段的程序是使用下标运算符实现的,请利用迭代器改写程序并实现完全相同的功能。

#include <iostream>
#include <vector>

using namespace std;

int main(){
    vector<unsigned> scores(, );
    unsigned grade;
    while (cin >> grade)
    {
        if (grade <= )
        {
            ++*(scores.begin() + (grade / ));
        }
    }
    for (auto s : scores)
    {
        cout << s << " ";
    }
    return ;
}
           

3.26 在100页的二分搜索程序中,为什么用的是mid = beg + (end - beg) / 2,而非mid = (beg + end) / 2;?

原因:迭代器运算没有定义两个迭代器加的运算。

继续阅读