栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++vector

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++vector

    头文件

    #include 
    #include 
    #include 
    

    创建和初始化
    参考文章:https://blog.csdn.net/sss_369/article/details/88360769

vector list1; //默认初始化,最常用vector list2(list);
vector ilist2 = ilist; //拷贝初始化vector list = {1,2,3.0,4,5,6,7};
vector list {1,2,3.0,4,5,6,7};//列表中元素的拷贝,VS2012 不支持vector list3(list.begin()+2, list.end()-1); //比较常用vector ilist4(7);//包含 7 个元素,每个元素进行缺省的值初始化,对于 int,也就是被赋值为 0vector ilist5(7,3);//指定值初始化,ilist5 被初始化为包含 7 个值为 3 的 intint a[] = {1, 2, 3, 4, 5};
vector t(a, a + sizeof(a) / sizeof(a[0]));//支持 VS2012

    成员函数

push_back( ) 成员函数在向量的末尾插入值,如果有必要会扩展向量的大小。size( ) 函数显示向量的大小。begin( ) 函数返回一个指向向量开头的迭代器。end( ) 函数返回一个指向向量末尾的迭代器empty( ) 判断是否为空a.swap(b) a、b 向量交换

    排序
    排序函数返回值为 false,元素交换;参数必须加 const 修饰,否则报错

    bool SortDimensions(const DimensionStruct &td1, const DimensionStruct &td2);
    
    void ShowDim(DimensionStruct dim);
    sort(dimlist.begin(), dimlist.end(), SortDimensions);
    

    默认排序算法

    sort(a.begin(),a.end()); //对a中的从a.begin()(包括它)到a.end()(不包括它)的元素进行从小到大排列
    reverse(a.begin(),a.end()); //对a中的从a.begin()(包括它)到a.end()(不包括它)的元素倒置,但不排列,如a中元素为1,3,2,4,倒置后为4,2,3,1
    

    遍历

    for_each(dimlist.begin(), dimlist.end(), ShowDim);
    

    等价于

    vector::iterator pr;
    for (pr = dimlist.begin(); pr != dimlist.end(); ++pr)
        ShowDim(*pr);
    

    可以利用 copy 遍历输出 vector

    copy(t.begin(), t.end(), ostream_iterator(cout, " "));
    

    交换两个元素

    iter_swap(t.begin(), t.begin() + i);
    swap(t[i], t[j]);
    

    复制
    把 t 中的从 t.begin()+1(包括它)到 t.end()(不包括它)的元素复制到 k 中,从 k.begin()的位置(包括它)开始复制,覆盖掉原有元素。k 的容量不能为 0,k.size()>t.size()时,只复制 t 的一部分,多余部分丢掉。

    vector k(t.size() - 1);
    copy(t.begin() + 1, t.end(), k.begin());
    

    查找

    find(a.begin(),a.end(),10); //在a中的从a.begin()(包括它)到a.end()(不包括它)的元素中查找10,若存在返回其在向量中的位置
    
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/717615.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号