vector的基本用法

#include <iostream>
#include <vector> //vector的头文件
using namespace std;


int main()
{
    默认构造函数 元素个数为0, 所占内存空间为0
    vector<int> num();
    当我们使用vector 的默认构造函数时,切记,不能直接通过下标去访问
    num[0]=1;默认构造下标访问会报错

    vector<int> num(6,666);    创建一个容器元素长度为6,所有元素默认指定为数字666
    vector<int> num(6);    不指定所有元素默认为零
    num.push_back(3);    尾部插入1个元素为数字3
    vector<int> num1(8,777);
    cout << "容器的元素长度" << num.size() << endl;
    cout << "容器大小" << num.capacity() << endl;

    num.assign(2, 999);    容器长度不变,原有的元素清空,赋值为2个元素999,
    num.assign(num1.begin(), num1.end());    可以用其他同类型容器进行赋值,使用迭代器进行赋值
    num.assign(num1.begin()+1, num1.end()-1);    用指针指定区间赋值

    iterator     是迭代器,it是迭代器的一个指针
    num.begin()  是首个元素
    num.end()    是元素尾部最后一个元素的下一个未知位置
    for (vector<int>::iterator it = num.begin(); it < num.end();)
    {
        cout << *it<<endl;
        ++it;
    }
    if (!num.empty())    判断容器是否为空,!为不的意思
    {
        num.resize(10);        调整容器长度为10个元素,扩充的元素默认为0
        num.resize(10,666);    可以指定扩充的元素默认值都为666
                               如果容器缩小后面的第二个参数无效
    }

    num.pop_back();    去掉尾部的最后一个元素
    num.at(2) = 88;    索引的方式修改第二个元素为88
    num[5] = 66;       下标的方式修改第6个元素为66
    num.insert(num.begin(), 6);     必须使用迭代器防止越界,在首位置插入数字6

    vector的插入
    vector.insert(pos, elem);     在pos位置插入一个elem元素的拷贝,返回新数据的位置。
    vector.insert(pos, n, elem);  在pos位置插入n个elem数据,无返回值。
    vector.insert(pos, beg, end); 在pos位置插入[beg,end)区间的数据,无返回值 

    vector的删除把整个vector 都干掉
    num.clear();
    干掉单个元素
    num.erase(num.begin());
    干掉多个元素
    num.erase(num.begin(), num.begin() + 3);

    return 0;
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值