#include <iostream>

#include <string>

#include <fstream>

#include <vector>

#include <algorithm>

using namespace std;

void printVector(vector<int>& v)

{

    for(vector<int>::iterator it = v.begin(); it != v.end(); it++)

    {

        cout << *it << " ";

    }

    cout << endl;

}

void test01()

{

    vector<int> v1;

    for(int i = 0; i < 10; i++)

    {

        v1.push_back(i);

    }

    printVector(v1);

    vector<int> v2(v1.begin(), v1.end());

    printVector(v2);

    vector<int> v3(10, 100);

    printVector(v3);

    vector<int> v4(v3);

    printVector(v4);


 

}

void test02()

{

    vector<int> v2;

    for(int i = 0; i < 10; i++)

    {

        v2.push_back(i);

    }

    printVector(v2);

    vector<int> v3;

    v3=v2;

    printVector(v3);

    vector<int> v4;

    v4.assign(v2.begin(), v2.end());

    printVector(v4);

}

void test03()

{

    vector<int> v1;

    for(int i = 0; i < 10; i++)

    {

        v1.push_back(i);

    }

    printVector(v1);

    if(v1.empty())

    {

        cout << "vector is empty" << endl;

    }

    else

    {

        cout << "vector is not empty" << endl;

    }

    cout << "capacity:" << v1.capacity() << endl;

    cout << "size:" << v1.size() << endl;

    cout << "max_size:" << v1.max_size() << endl;

    cout << "empty:" << v1.empty() << endl;

}

void test04()

{

    vector<int> v1;

    for(int i = 0; i < 10; i++)

    {

        v1.push_back(i);

    }

    printVector(v1);

    v1.pop_back();

    printVector(v1);

    v1.insert(v1.begin(),100);

    printVector(v1);

    v1.insert(v1.begin(),2,1000);

    printVector(v1);

    v1.erase(v1.begin());

    printVector(v1);

    v1.erase(v1.begin(),v1.end());

    printVector(v1);


 

}

void test05()

{

    vector<int> v1;

    for(int i = 0; i < 10; i++)

    {

        v1.push_back(i);

    }

    for(int i = 0; i < v1.size(); i++)

    {

        cout << v1[i] << " ";

    }

    for(int i = 0; i < v1.size(); i++)

    {

        cout << v1.at(i) << " ";

    }

    cout<<v1.front()<<endl;

    cout<<v1.back()<<endl;

   

}

void test06()

{

    vector<int> v1;

    for(int i = 0; i < 10; i++)

    {

        v1.push_back(i);

    }

   

    printVector(v1);

    vector<int> v2;

    for(int i = 10; i < 20; i++)

    {

        v2.push_back(i);

    }

    printVector(v2);

    v1.swap(v2);

    printVector(v1);

    printVector(v2);


 

}

void test07()

{

    vector<int> v1;

    for(int i = 0; i < 10000000; i++)

    {

        v1.push_back(i);

    }

    cout<<v1.capacity()<<endl;

    cout<<v1.size()<<endl;

    v1.resize(5);

    cout<<v1.capacity()<<endl;

    cout<<v1.size()<<endl;

    vector<int>(v1).swap(v1); //shrink to fit

    cout<<v1.capacity()<<endl;

    cout<<v1.size()<<endl;



 

}

void test08()

{

    vector<int> v1;

    v1.reserve(1000000);

    int num = 0;

    int *p= NULL;

    for(int i=0;i<1000000;i++)

    {

        v1.push_back(i);

        if(p!=&v1[0])

        {

            p=&v1[0];

            num++;

        }

    }

    cout<<"num="<<num<<endl;

}

int main()

{

        // test01();

        // test02();

        // test03();

        // test04();

        // test05();

        // test06();

        // test07();

        test08();

   system("pause");

}

更多推荐