C++STL中的vector容器

C++ primer中说:“通常,使用vector是最好的选择,除非你有很好的理由选择其他容器.

我挑出了常用的基本操作:

#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char *argv[]) {
    vector<vector<int>> test1;   //元素可以是容器
    vector<string> test2;       //元素可以是字符串
    vector<int> t1(10,1);      //初始化为10个1
    vector<int> t2{10,1};     //初始化为10,1俩元素 c++11新增!!!
    vector<int> t3(10);   //初始化为10个0
    vector<int> t4(t1);  //用t1初始化t4
    t1.push_back(2);     //向t1尾部加入新元素2
    t1.pop_back();      //删除尾部
    t1.swap(t2);       //交换t1,t2内容  新增
    swap(t1, t2);     //等价于上    推荐用这个
    t1.assign(t2.begin(), t2.end());  //把t1替换为t2.begin()迭代器到t2.end()迭代器区间内的内容
    t1.assign(10,1);                  //t1替换为10个1
    t1.insert(t1.begin(), 10,2);      //在t1首加入10个2
    t1.insert(t1.begin(), 3);         //在t1首加入3
    t1.insert(t1.end(), t2.begin(),t2.end());  //在t1最后一个元素前加入t2的内容
    t3.clear();                  //删除t3所有元素
    t3={1,2,3,4,5};
    t3.erase(t3.begin());            //删除t3首元素
    t3.erase(t3.begin(),t3.end());  //删除t3所有
    int a=t1.front();           //首元素的引用
    int b=t1.back();           //结尾元素的引用
    int size=t1.size();       //size成员返回容器的大小
    bool is=t1.empty();      //判断是否为空
    for(int i=0;i<10;i++){  //下标访问  下标0代表第一个元素
        t1[i]=i;
    }
    t1=t2;                //直接赋值代表全部替换成t2 就和变量赋值相同
    t1={1,2,3,4};        //用1,2,3,4替换t1内容
    bool pd=(t1==t2);   //可直接比较大于小于号也行 比的是字典序
    /*——————————————迭代器——————————————————
     迭代器和指针差不多 但比指针更通用
     */
    auto it1=t1.begin();    //it1迭代器对应着t1的开始
    auto it2=t1.end();     //it2对应结束后一个位置
    for(auto it=t1.begin();it!=t1.end();it++){     //解引用也是加*
        cout<<*it<<endl;
    }
    auto dis=it2-it1;    //迭代器和指针一样 可以相减 这样就是计算元素数
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值