STL模板库中Vector与List的使用

“`

include

include

include

include

using namespace std;

void test_list()
{
list l1;
l1.push_back(1);
l1.push_back(2);
l1.push_back(3);
l1.push_back(4);
l1.push_back(5);
l1.push_back(6);
l1.push_back(7);

list<int>::iterator it = l1.begin();

list<int>::iterator pos = find(l1.begin(), l1.end(), 5);

l1.erase(pos);

l1.insert(pos, 6);
l1.insert(pos, 7);

while (it != l1.end())
{
    if ((*it) % 2 == 0)
    {
        l1.erase(it);
    }
    else
    {
        ++it;     //迭代器失效,相当于野指针
    }
    cout << *it << " ";
}

}

void VectorTest()
{
vector v;
v.push_back(1);
v.push_back(2);
v.push_back(3);

v.push_back(4);
v.push_back(5);

vector<int>::iterator pos = find(v.begin(), v.end(), 5);

v.insert(pos, 6);
v.insert(pos, 7);

vector<int>::iterator it = v.begin();
while (it != v.end())
{
    cout << *it << " ";
    ++it;
}

vector<int>::const_iterator it = v.cbegin();
while (it != v.cend())
{
    cout << *it << " ";
    ++it;
}

//while (it != v.end())
//{
//  if ((*it) % 2 == 0)
//  {
//      v.erase(it);
//  }
//  else
//  {
//      ++it;     //迭代器失效,相当于野指针
//  }
//  cout << *it << " ";
//}

}

猜你喜欢

转载自blog.csdn.net/liuxiaokai_liu/article/details/78725705