Vector的用法

#include <vector> //头文件
vector<int> a;    //相当于长度动态变化的int数组
vector<int> b[10] //相当于一个二维数组,第一维长10,第二维长度动态变化
 struct node
 {
     int a;
 }
vector<node>c;	  //自定义的结构体也可以保存在vector中

size/empty
    所有的STL容器都支持这两个方法,含义也相同。
    v.size()//返回元素的个数
    v.empty()//返回一个true/false
    
clear 清空vector
    
迭代器
    vector<int>::iterator it; 迭代器就像STL中的指针,可以与一个整数相加,与指针类似。
begin/end
        begin返回第一个元素的迭代器,end返回最后一个元素的后一个位置。
	for(int i=0;i<v.size();i++)
        cout<<v[i]<<endl;
	for(vector<int>::iterator it=v.begin();it!=v.end();it++)
        cout<<*it<<endl;
front/back
    v.front()返回第一个元素,v.back()返回最后一个元素。
push_back/pop_back
    v.push_back(x) 插入x
    v.pop_back()   删除最后一个元素
    
 用vector代替邻接表存储有向图
    const int MAX_EDGES=10010;
vector<int> ver[MAX_EDGES],edge[MAX_EDGES];
存边
    void add(int x,int y,int z)
{
    ver[x].push_back(y);
    edge[x].push_back(z);
}
遍历从x出发的所有边
    for(int i=0;i<ver[x].size();i++)
        int y=ver[x][i],z=edge[x][i];
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值