C++ Vector容器学习

C++ Vector容器学习,第1张

vector实际上是一种顺序表容器,下面介绍一下vector的基本 *** 作:

头文件:

#include         //使用vector需包含的头文件

构造函数:

vector v1();        //无参拷贝函数调用,数据类型为int型
    vector v2(10, 1);        //调用有参拷贝函数创建一个有10个数据为1的顺序表,数据类                                                  型为int
    vector v3(v2);        //调用拷贝构造函数,将v2拷贝给v3

遍历:

int main()
{
    vector v1;
    v1.push_back(1);
    v1.push_back(2);
    v1.push_back(3);
    v1.push_back(4);
    v1.push_back(5);
    for (int i = 0; i < v1.size(); i++)
    {
        cout << v1[i] << " ";
    }                                //利用vector的size进行遍历
    cout << endl;

    vector::iterator it = v1.begin();    //使用迭代器遍历,作用和指针类似
    while (it != v1.end())
    {
        cout << *it << " ";
        it++;
    }
}

查找,插入,删除:

#include        //下面使用查找函数for时需要包含的算法头函数

int main()
{
    vector v1;
    v1.push_back(1);
    v1.push_back(2);
    v1.push_back(3);
    v1.push_back(4);
    v1.push_back(5);

    vector::iterator pos = find(v1.begin(), v1.end(), 3);    //查找3的位置给pos
    if (pos != v1.end())
    {
        v1.insert(pos, 30);    //在pos前一个位置插入30
    }

    if (pos != v1.end())
    {
        v1.erase(pos);    //删除pos位置的值
    }


    for (auto e : v1)
    {
        cout << e << " ";    //auto循环
    }

}

排序:

int main()
{
    vector v1;
    v1.push_back(10);
    v1.push_back(2);
    v1.push_back(1);
    v1.push_back(4);
    v1.push_back(3);
    for (auto e : v1)
    {
        cout << e << " ";    //auto循环
    }
    cout << endl;

    sort(v1.begin(), v1.end());    //排序
    for (auto e : v1)
    {
        cout << e << " ";    //auto循环
    }
    cout << endl;

    less ls;
    sort(v1.begin(), v1.end(), ls);        //升序排序
    for (auto e : v1)
    {
        cout << e << " ";    //auto循环
    }
    cout << endl;

    greater gt;        //需要包含头文件
    sort(v1.begin(), v1.end(), gt);        //降序排序
    for (auto e : v1)
    {
        cout << e << " ";    //auto循环
    }
    cout << endl;

}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/2991473.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-23
下一篇 2022-09-23

发表评论

登录后才能评论

评论列表(0条)

保存