标准模板库STL之vector

一、向量vector用于实现数组的功能(便于访问,不便于插入删除),相当于在数组的基础上封装了一些常用的功能。

函数功能功能
push_back在尾部添加一个元素
pop_back在尾部删除一个元素
clear清空所有元素
at按索引访问某个位置的元素
front

                                                                               返回头元素

back返回尾元素
size返回元素的个数
capacity返回当前容量
resize改变容量的大小

二、要点:要明白vector内部的实现机制

       buffer:缓冲区

       capacity:缓冲区大小

       size:元素的个数

三、实例

#include<stdio.h>
#include<vector>
using namespace std;
int main(){
	vector<int> arr(128);
	int capacity=arr.capacity();//容量128 
	int size=arr.size();//大小:128,已经包含128个元素
	
	arr[0]=1;//arr是类不是数组
	arr[1]=122;
	arr.at(2)=123;
	
	for(int i=0;i<4;i++)
	printf("%d\n",arr[i]);
	
	return 0;
}  

四、capacity和size会动态增加

vector<int> arr(16);//capacity:16事先分配好缓冲区大小
arr.clear();//size=0

arr.push_back(1);//capacity:16  size=1
arr.push_back(2);//capacity:16  size=2

五、迭代器(内部类iterator)

#include<stdio.h>
#include<vector>
using namespace std;
int main(){
	vector<int> arr(128);
	arr.clear();
	
	int capacity=arr.capacity();//容量128 
	int size=arr.size();//大小:128,已经包含128个元素
	
	arr.push_back(1); 
	arr.push_back(2); 
	arr.push_back(3); 
	
	//迭代器遍历 
	vector<int>::iterator iter;
	for(iter=arr.begin();iter!=arr.end();iter++){
		int& value=*iter;
		printf("%d ",value);
	}
	
	return 0;
}  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值