C++STL中的vector简要介绍

目录:

vector

1.向量简介

  • 提出背景:数组长度一般是早已经定好了的,无法应对长度增加的情况。而动态分配的数组虽然可以解决长度增长,但却需要使用者自行管理存储空间。

  • 数组和向量的主要特征:都能通过下标以O(1)时间访问其中元素。vector的使用与数组并无差异。
  • 优势:查找
  • 劣势:插入和删除需要O(n)的时间。

  • vector 其实是只增不减的,减的是size,capacity是不减的,这样主要是为了提高效率。

2.向量作为参数传递

  1. 引用方式(vector& v) : 类似于传数组地址。
  2. 常量引用方式(const vector& v)
  3. 直接复制传递(vector v) : 会在函数中生成一个副本,最好不要用这个。

3.向量常用方法:

    vector<int> v;
    int item;
    ierator it;

    v.push_back(item);  //末尾插入
    v.pop_back();       //末尾删除
    v.insert(it,item);  //任意插入
    v.erase(it);        //任意删除

    v.begin();          //头迭代器
    v.end();            //尾迭代器

    v.at(i);            //v[i]的引用
    v.front();          //头元素的引用
    v.back();           //尾元素的引用

    v.clear();
    v.empty();      
    v.size();   

猜你喜欢

转载自blog.csdn.net/szuhuanggang/article/details/78825801