vector简单的入门知识和用法

数组是基本的数据结构,由静态数组和动态数组的两种类型
vector是动态数组,不仅节约空间,而且不容易出错

功能例子说明
定义int型数组vector < int > a;
vector < int > b(a);
vector < int > a(100);
vector < int >a(100,6);
默认初始化,a为空
用a定义b
a有100个值为0的元素
a有100个值为6的元素
定义string型数组vector < string > a(10,“null”);
vector < string > vec(10,“hello”);
vector < int > b( a.begin() , a.end() );
10个值为null的元素
10个值为hello的元素
b是a的赋值
定义结构型数组struct point { int x, y; };
vector < point > a;
a用来存坐标

还可以定义多维数组,如
vector <int> a[MAXN]第一维的大小是固定的MAXN,第二维是动态的
可以用这种方式实现图的邻接表存储

功能例子说明
begina.begin( ) + i;返回a[ i ]的地址
enda.end( );返回a[ MAXN - 1 ]的地址
赋值(尾部插入)a.push_back( 100 );在尾部添加元素
元素个数int size = a.size( );元素个数
是否为空bool isEmpty = a.empty();判断是否为空
打印cout << a[ 0 ] << endl;打印第一个元素
中间插入a.insert( a.begin( ) + i , k );在第 i 个元素前面插入一个元素 k
删除尾部a.pop_back( );删除末尾元素
删除区间a.erase( a.begin( ) + i , a.begin( ) + j );删除区间[ i , j ]的元素
删除元素a.erase( a.begin( ) + i );删除第 i 个元素
调整大小a.resize( n );数组大小变为 n
清空a.clear( );清空
翻转reverse( a.begin( ) , a.end( ) );用函数reverse( )翻转数组
排序sort( a.begin( ) , a.end( ) );用函数sort( )排序,从小到大
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值