c++ primer 9.3.3节练习

9.33节练习

//*****************9.3.3节 9.26练习***********************

int ia[] = { 0, 1, 1, 2, 3, 5, 8, 13, 21, 55, 89 };
vector<int> ivec;
list<int> ilist;
for (auto i : ia)
{
    ivec.push_back(i);
    ilist.push_back(i);
}

int l = sizeof(ia) / sizeof(int);
auto itervec = ivec.begin();
auto iterlist = ilist.begin();

while (l--)//循环ia的元素个数次
{
    if (*itervec & 1)
        itervec++;
    else
        itervec = ivec.erase(itervec);

    if (*iterlist & 1)
        iterlist = ilist.erase(iterlist);
    else
        iterlist++;
}

for (auto i : ivec)
    cout << i << " ";
cout << endl;

for (auto i : ilist)
    cout << i << " ";
cout << endl;

std::system("pause");
return 0;