c++中的vector

来源:互联网 发布:淘宝千牛自动回复短语 编辑:程序博客网 时间:2024/06/07 17:56

0.若定义vector(3),则有v[0],v[1],v[2]三个,vector是从0开始的,他就是一种动态到的数组。

1.定义的时候为vector v而没有vector v10)时,用v.push_back(6)赋值,容器按照v[0],v[1]...扩张,代码形式为:v.push_back(6)

2.元素遍历

(1)定义迭代器注意迭代器和对象的类型要相同,例如int型,vector<int>::iterator itit相当于指针,输出其指的元素的时候,代码形式为:cout<<*it<<endl;

(2)使用at()函数,v.at(3)就是指向第三个元素。v是从v.at(0)开始的。

(3)数组形式进行遍历:cout<<v[0]<< <<v[1]<<endl;

3.Insert()函数可以在对象的任意位置插入一个元素。当插入的元素放在最开始或者最后面的时候用v.insert(v.begin(),9)或者v.insert(v.end(),4)在插入的同时容器自动扩张一个元素空间,插入位置后的所有元素一次向后都动一个位置。代码形式为:v.insert(v.begin(),9);

4.erase()函数可以删除对象中的一个元素或者一段区间的所有元素(若是一段区间则不删除区间尾部的元素)

5.clear()方法可以一次性删除vector中的所有元素.

6.reverse算法可以把向量中某段迭代器区间元素反向排序(若是一段区间则不反向区间尾部的元素  当时把所有元素都反向时用reversev.begin(),v.end())),当用这个算法时需要定义头文件“#include<algorithm>”。

7.size()函数可以返回向量的大小,即元素的个数。代码形式为:cout<<v.size();

8.empty()方法可以返回向量是否为空,当返回值为1时为空,返回值为0时不为空。代码形式为:v.empty();

9.sort是把一组数据默认为从小到大排序的,使用sort排序需要头文件“#include<algorithm>

(若是一段区间则不排序区间尾部的元素  当把所有元素都排序时用,其代码形式为:sort(v.begin(),v.end())

10. v.begin()v.end()相当于头指针和尾指针,v.begin()指向第一个元素,v.end()指向最后一个元素的后面一个空地方,相当于队列里面的头指针和尾指针,只是为了防止,当只有一个元素的时候v.begin()v.end()不相等。

11. v.back()是向量最后一个元素,v.pop_back()是弹出(即删除)向量最后一个元素。v.front()是向量的第一个元素。

原创粉丝点击