vector c++详细用法

来源:互联网 发布:三菱系统手动编程实例 编辑:程序博客网 时间:2024/06/08 14:29

vector是C++标准模版库中的内容,它是一个多功能的,能够操作数据结构和算法的模版类和函数库,vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单的数,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据!

包含的头文件的格式  #include<vector>

下面列举一下算法:例如建立vector<int>c

c.assign(beg,end)/将[beg;end)中的数据赋值给c

c.assign(n,elem)//,将n个elem的拷贝赋值给c

c.at(idx); //传回索引idx所指的数据,如果越界,抛出out_of_range

c.back(); //传回最后一个数据,不检查数据是否存在

c.begin();//传回迭代器中的第一个数据的地址

c.size();//返回容器中数据的个数

c.clear();//移除容器中所有的数据

c.empty();//判断容器是否为空

c.end();//只想迭代器中末端元素的下一个,指向一个不存在的元素

c.erase();//删除pos位置的数据,传回下一个数据的位置()

c.erase(beg,end);//删除[beg,end)区间的数据,传回下一个数据的位置

c.front();//返回第一个数据的地址

get_allocator 使用构造函数返回一个拷贝

c.insert(pos,elem);//在pos位置插入一个elem的拷贝,传回新数据的地址

c.insert(pos,n,elem);//在pos位置插入n个elem数据,无返回值

c.insert(pos,beg,end);//在pos位置插入在[beg,end)区间的位置,无返回值

c.max_size();//返回容器中最大数据的数量

c.pop_back();//删除最后一个数据

c.push_back(elem);//在尾部加入一个数据

c.rbegin();//传回一个逆向队列的第一个数据、

c.rend();//传回一个逆向队列的最后一个数据的下一个位置

c.resize(num);//重新制定队列的长度

c.reserve();//保留适当的容量

c.size();//返回容器中实际数据的个数

c1.swap(c2);或者swap(c1,c2);都是将c1与c2元素互换

vector<elem>;//创建一个空的vector

cvector<elem>c1(c2);//复制一个vector

vector<elem>c(n);//创建一个vector,含有n个数据,数据均已缺省构造产生。

ector <Elem> c(n, elem);//创建一个含有n个elem拷贝的vector。

vector <Elem> c(beg,end);//创建一个以[beg;end)区间的vector。

c.~ vector <Elem>();//创建一个以[beg;end)区间的vector。

operator[];//返回容器中指定位置的一个引用。

vector<Widget> vWidgets;//创建一个Widget类型的空的vector对象

vector<Widget> vWidgets(500, Widget(0));//创建一个包含500个Widget类型数据的vector,并且都初始化为0:

vector<Widget> vWidgetsFromAnother(vWidgets);创建一个Widget的拷贝:

vector添加数据的缺省方法是push_back()。push_back()函数表示将数据添加到vector的尾部,并按需要来分配内存

 

 

 

 

 

 

 

c.insert

 

 

 

 

 

原创粉丝点击