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