设为首页 加入收藏

TOP

C++温习-标准库-vector
2015-11-21 00:59:27 来源: 作者: 【 】 浏览:2
Tags:温习 标准 -vector

vector是C++中最基本的顺序容器,可把它看作是一个自动可变长度的数组来使用,使用中,比直接定义数组来使用方便,但运行效率会比数组低一些。

vector的内部实现,还是数组的形式,当新插入数据使得大于容量时,就会进行重新分配空间,并移动数据,vector并不是每次插入新的数据都重新分配空间,并且移动数据,毕竟这样的效率太低了,通常,它是会新开一个大一些的空间,来避免过于频繁的分配空间和移动数据。

vector 当然也是类模板。

template < class T, class Alloc = allocator
   
     > class vector; // generic template 
   

需要指明类型。

常用的成员函数:

iterator;//迭代器
const_iterator;//不可变
reverse_iterator;//逆向
const_reverse_iterator;//不可变+逆向

常用的 成员函数:

//1. 迭代器
begin();
end();
rbegin();
rend();
cbegin();//以下C++11新加入
cend();
crbegin();
crend();
//以上都是返回迭代器,其中r开头的表示返回的是逆向的迭代器,c开头的表示返回的是const迭代器。

//2. 容量相关:
size();//返回大小
resize();//
capacity();//分配的空间的大小
empty();//是否为空
shrink_to_fit();//C++11 新加入。请求重新分配空间,使其capacity==size,这个看实现,不一定会操作,只是“请求”

//3. 数据读取
operator[];//
at();
front();
back();
data();//C++11新加入,返回直接的指针

//4. 增删改查
void assign (InputIterator first, InputIterator last);//赋值,更改vector的整个内容。包括capacity。
push_back();//尾部添加数据
pop_back();//删除最后一个位置上的元素
iterator insert (const_iterator position, const value_type& val);//在位置position上添加元素。该方法很低效。
iterator erase (const_iterator position);//删除position位置上的元素。
clear();//清空vector


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Codeforces 549C. The Game Of Pa.. 下一篇C++温习-标准库-set

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: