STL Vector

构造函数


  vector();
  vector( size_type num, const TYPE &val );
  vector( const vector &from );
  vector( input_iterator start, input_iterator end );
 

vector<int>v1(5,10);   //10,10,10,10,10

at函数

vector可以随机访问

 TYPE at( size_type loc );  /*at() 函数 返回当前Vector指定位置loc的元素的引用. at() 函数 比 [] 运算符更加安全, 因为它不会让你去访问到Vector内越界的元素.*/

assign函数


  void assign( input_iterator start, input_iterator end );
  void assign( size_type num, const TYPE &val );

back,front函数

  TYPE back();   //back() 函数返回当前vector最末一个元素的引用
  
  TYPE front();  //front()函数返回当前vector起始元素的引用

例如:

vector<int>v;
for(int i =0;i<5;i++){
	v.push_back(i);
}
cout<<"The first element is"<<v.front()
<<"and the last element is"<<v.back()<<endl;

begin,end函数

 iterator begin();
 iterator end();

遍历vector

vector<int>v1(5,10);
vector<int>::iterator it;
for(it=v1.begin();it!=v1.end();it++){
	cout<<*t<<endl;
	

capacity函数

size_type capacity();

capacity() 函数 返回当前vector在重新进行内存分配以前所能容纳的元素数量.

clear函数

void clear();

clear()函数删除当前vector中的所有元素.

empty函数

 bool empty();

如果当前vector没有容纳任何元素,则empty()函数返回true,否则返回false.

举例:

vector<int>v;
for(int i=0;i<5;i++)
{
	v.push_back(i);
}
while(!v.empty())
{
	cout<<v.back()<<endl;
	v.pop_back();
}

erase函数

 iterator erase( iterator loc );
  iterator erase( iterator start, iterator end );

删除元素,必须用iterator

vector(char>alphaVector;
for(int i=0;i<10;i++)
	alphaVector.push_back(i+65);
int size = alphaVector.size();

vector<char>::iterator startIterator;
vector<char>::iterator tempIterator;

for(int i=0;i<size;i++)
{
	startIterator=alphaVector.begin();
	alphaVector.erase(startIterator);
for(tempIterator=alphaVector.begin();tempIterator!=alphaVector.end();tempIterator++)
{
	cout<<*tempIterator;
	cout<<endl;
}
}

Result:

BCDEFGHIJ
CDEFGHIJ
DEFGHIJ
EFGHIJ
FGHIJ
GHIJ
HIJ
IJ
J

insert 函数

 iterator insert( iterator loc, const TYPE &val );
  void insert( iterator loc, size_type num, const TYPE &val );
  void insert( iterator loc, input_iterator start, input_iterator end );


举例:

vector<char> alphaVector;
for(int i=0;i<10;i++)
	alphaVector.push_back(i+64);

vector<char>::iterator theIterator=alphaVector.begin();
alphaVector.insert(theIterator,4,'c');

for(theIterator=alphaVector.begin();theIterator!=alphaVector.end();theIterator++)
 cout<<*theIterator;
 

pop_back()函数

void pop_back();   //pop_back()函数删除当前vector最末的一个元素

push_back()函数

 void push_back( const TYPE &val );   //push_back()添加值为val的元素到当前vector末尾

size.resize函数

 size_type size();  //size() 函数返回当前vector所容纳元素的数目 

  void swap( vector &from );//swap()函数交换当前vector与vector from的元素

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值