C++ STL--vector向量容器学习笔记
2014-02-15 11:02
639 查看
vector容器是一个线性结构,简单高效。在尾部插入和删除元素,算法时间复杂度为O(1)常数阶。其他元素的插入和删除为O(n)线性阶,其中n为vector容器的元素个数。vector具有自动的内存管理功能,对于元素的插入和删除,可动态调整所占用的内存空间。
vector容器可以进行数组一样的元素随机访问,还可以在容器的尾部插入新元素。
创建vector对象
1)vector(const A&a=A())
创建一个空的vector对象,A是内存分配器,此参数可省略,相当于一个vector()的调用。
下面的实例代码为创建了vector对象v
2)vector(size_type n)
创建一个具有n个元素的vector对象,每个vector元素具有它的类型下的默认值
下面的实例代码为创建了具有10个元素的vector对象v,每个元素的默认值为0.0
3) vector(size_type n,const T& value)
创建一个具有n个元素的vector对象,每个元素具有初始值value。
下面的实例代码为创建一个具有10个元素的vector对象v,每个元素的初始值为9.3
4)vector(const vector&)
通过拷贝一个vector对象的各个元素值,创建一个新的vector对象。
下面的实例代码为使用v1对象创建v2对象,此时,v2对象的5个元素也具有字符值‘k’。
5)vector(const InputIterator first,const InputIterator last,const A&a=A())
InputIterator为输入迭代器,通过拷贝迭代器区间的元素值,创建一个新的vector对象,内存分配器可省略。
下面的实例代码为利用int数组iArray各元素值,创建了vector对象v
初始化赋值
vector提供的push_back函数,常用来进行vector容器的初始化。push_back函数在容器的尾端插入新元素value
下面的实例代码为将1,2,3添加到vector容器中
待续...
vector容器可以进行数组一样的元素随机访问,还可以在容器的尾部插入新元素。
创建vector对象
1)vector(const A&a=A())
创建一个空的vector对象,A是内存分配器,此参数可省略,相当于一个vector()的调用。
下面的实例代码为创建了vector对象v
vector<int> v;
2)vector(size_type n)
创建一个具有n个元素的vector对象,每个vector元素具有它的类型下的默认值
下面的实例代码为创建了具有10个元素的vector对象v,每个元素的默认值为0.0
vector<double> v(10);
3) vector(size_type n,const T& value)
创建一个具有n个元素的vector对象,每个元素具有初始值value。
下面的实例代码为创建一个具有10个元素的vector对象v,每个元素的初始值为9.3
vector<double> v(10,9.3)
4)vector(const vector&)
通过拷贝一个vector对象的各个元素值,创建一个新的vector对象。
下面的实例代码为使用v1对象创建v2对象,此时,v2对象的5个元素也具有字符值‘k’。
vector<char> v1(5,'k'); vector<char> v2(v1);
5)vector(const InputIterator first,const InputIterator last,const A&a=A())
InputIterator为输入迭代器,通过拷贝迭代器区间的元素值,创建一个新的vector对象,内存分配器可省略。
下面的实例代码为利用int数组iArray各元素值,创建了vector对象v
int iArray[]={1,2,3,4,5} vector<int> v(iArray,iArray+3);
初始化赋值
vector提供的push_back函数,常用来进行vector容器的初始化。push_back函数在容器的尾端插入新元素value
下面的实例代码为将1,2,3添加到vector容器中
vector<int> v; v.push_back(1); v.push_back(2); v.push_back(3);
待续...
相关文章推荐
- C++ STL学习笔记二 vector向量容器
- C++学习笔记——STL(二)vector容器
- STL学习笔记之容器--vector(一)
- STL学习笔记之容器--vector(二)源码剖析
- C++ STL学习笔记九 map映照容器
- C++ 中STL学习-50条有效使用经验学习笔记(一):容器
- C++ 动态数组类模板(向量容器)vector与STL用法总结
- C++中的vector容器对象学习笔记
- STL泛型编程学习之vector向量容器
- C++学习笔记(六):复杂数据类型(string、容器和STL)
- C++ Standard Stl -- SGI STL源码学习笔记(06) stl_vector 与 一些问题的细化 2 push_back函数剖析
- C++ Standard Stl -- SGI STL源码学习笔记(07) stl_vector 与 一些问题的细化 3 resize函数剖析
- C++ STL学习笔记十二 hash_map映照容器
- STL学习笔记3— —容器vector
- STL学习笔记----3.容器 vector 和 deque
- C++ STL--map映照容器学习笔记
- C++学习笔记(字符串string、vector_deque、queue,multiset、map、multimap、容器拷贝问题)(复制粘贴,方便后面翻阅)
- 【C++】STL常用容器总结之三:向量vector
- c++ STL学习笔记-----vector
- C++ STL入门教程(1) vector向量容器使用方法