C ++标准模板库(STL)中的向量

<p向量是STL中最有用的容器。所有STL容器都很有用,但是您会发现自己比其他人更经常接触到向量。向量被设计用来替代大多数数组应用,而数组是如此有用,它们已被包含在每一种商业上成功的编程语言中。


矢量时所需的内存在动态内存分配的时间是不确定的为您服务优于阵列。向量能够在运行时(重新分配)增加其大小。它消耗额外的空间来有效地存储和动态增加其大小。

它们的内存随着元素添加到这些容器中而增长,并且当向量被销毁时,其析构函数会自动销毁容器中的元素,并重新分配容纳这些元素的内存。

语法: vector <type> vector_name;

示例: vector <int> v;

向量的一些有用的成员函数

  1. push_back():此函数在vector的当前最后一个元素之后的末尾添加一个新元素。

  2. pop_back():此函数从向量中删除最后一个元素。

  3. begin():返回指向向量第一个元素的迭代器。

  4. end():返回指向向量最后元素的迭代器。

  5. size():此函数返回向量的大小(元素数)。

  6. clear():删除向量的所有元素,使其大小为0时为空。

使用STL实现矢量的C ++程序

#include <iostream>
#include <vector>
using namespace std;

int main(){ 
	int i,k;
	//向量声明
	vector<int>v;
	
	//插入前的打印尺寸
	cout<<"Before Insertion:"<<v.size()<<endl;
	
	//输入元素
	cout<<"Enter Elements:";
	for(int i=1;i<5;i++)
	{ 
		cin>>k;
		v.push_back(k);
	}
	
	cout<<"Size after Push_back():"<<v.size()<<endl;
	v.pop_back();
	
	cout<<"Size after Pop_back():"<<v.size()<<endl;
	cout<<"Elements Present in vector are:";
	for(vector<int>::iterator j=v.begin();j!=v.end();j++)
		cout<<*j<<" ";
	cout<<endl;
	
	//清除向量
	v.clear();
	cout<<"After clear():"<<v.size()<<endl;
	
	return 0;
}

输出结果

Before Insertion:0
Enter Elements:4 86 23 1
Size after Push_back():4
Size after Pop_back():3
Elements Present in vector are:4 86 23
After clear():0