第六章Vector向量容器

版权声明:转载商用请通知本人 https://blog.csdn.net/qq_41076577/article/details/85093322

   作为数组的一个泛化的vector容器,不仅可以进行数组一样的元素随机访问,还可以在容器的尾端插入新元素。

vector具有自动的内存管理功能,对于元素的插入和删除,可动态调整所占用的内存空间。

创建vector对象

(1) vector(const A&a=A())

创建一个空的vector对象,A是内存分配器,此参数可省略,相当于一个vector()的调用。例如,下面一行代码创建了vector对象v。

(2)vector(size_type n)

创建一个具有n个元素的vector对象,每个vector元素具有它的类型下的默认值。此时,n个vector元素的内存空间已被分配。例如,下面一行代码,创建了具有10个元素的vector对象v,每个元素的默认值0.0

(3)vector(size_type n,const T& value)

创建一个具有n个元素的vector对象,每个对象具有初始值value。例如,下面一行代码

创建了一个具有10个元素的vector对象,每个元素的默认值为9.3

(4)vector(const vector&)

通过拷贝一个vector对象对的各个元素值,创建一个新的vector对象。例如,下面使用v1对象创建v2对象,此时,v2对象的5个元素也具有字符值“k”。

(5)vector(const InuptIterator first,const  InuptIterato last,const A& a = A()  )

 InputIterator为输入迭代器,通过拷贝迭代器区间[first,last)的元素值,创建一个新的vector对象中,内存分配器可省略。例如,利用int数组iArray各元素值,创建了vector对象v。

初始化赋值

vector 提供的push_back函数,常用来进行vector容器的初始化。push_back函数在容器的尾端插入新元素value。

#include<vector>
#include<iostream>
using namespace std;
int main(){

	vector<int> v;
	v.push_back(20);
	v.push_back(26);
	v.push_back(39);
	vector<int>::iterator i, iend; //起始结尾迭代器值
	iend = v.end();
	int j;
	for (i = v.begin(), j = 0; i != iend; i++, j++)
		cout << "v[" << j << "]=" << *i << endl;


	

	system("pause");
	return 0;
}

元素插入

不同于在

常用函数原型

(1)bool empty()

(2)size_type size()

当前vector容器的实际元素的个数

(3)size_type max_size()

系统所允许的vector容器的最大元素个数。

(4)size_type capacity()

当前可容纳的vector的元素的个数

(5)reference front()

vector容器的首元素(引用),要求vector不为空

(7)void pop_back()

与push_back函数相反,pop_back函数用于删除末尾的一个容器元素。

猜你喜欢

转载自blog.csdn.net/qq_41076577/article/details/85093322