由end 操作返回的迭代器指向 vector 的“末端元素的下一个”。表明它指向了一个不存在的元素。如果 vector 为空。begin 返回的迭代器与 end 返回的迭代器同样。由 end 操作返回的迭代器并不指向 vector 中不论什么实际的元素,相反,它仅仅是起一个哨兵(sentinel)的作用。表示我们已处理完 vector 中全部元素。 ...
访问元素:可以通过索引访问vector中的任何元素。 修改元素:可以通过索引修改vector中的任何元素。 获取元素数量:可以获取vector中元素的数量。 动态调整大小:可以根据需要动态增加或减少vector的大小。 容量管理:可以查询和修改vector的容量,即vector可以容纳多少个元素。 迭代器:可以使用迭代器遍历vector中的元素。 排序:可...
#include<iostream>#include<vector>usingnamespacestd;intmain(){vector<int>a{1,2,3,4,5};cout<<"原先数组a的各个数据:1, 2, 3, 4, 5"<<endl;intb=a.front();intc=a.back();cout<<"数组a第一个数据:"<<b<<endl;cout<<"数组a最后一个数据:"<<c<<endl;a.pop_back();c=a.back();c...
1.1 vector(数组)封装动态数组的顺序容器。 1.2 queue(队列)是容器适配器,他是FIFO(先进先出)的数据结构。 1.3 deque(双端队列)是有下标顺序容器,它允许在其首尾两段快速插入和删除。 1.4 set(集合)集合基于红黑树实现,有自动排序的功能,并且不能存放重复的元素。 1.5 unordered_set(无序集合)基于哈希表实现,...
1.1、定义空的vector 定义的方法为: vector<T> v; 1. 1.2、定义一个vector的副本 定义的方法为: vector<T> v1(v); 1. 1.3、定义并初始化 定义的方法为: vector<T> v2(n, i); 1. 定义了长度为n的vector v2,并且每个元素都是i。 1.4、定义并指定初始长度 ...
顾名思义,迭代器是一种安全的访问控制器,它本身是一种指针,用于直接的元素访问。其遍历访问的大致思路是,创建容器的迭代器,让迭代器指向第一个元素,逐步向后移动并最终指向最后一个元素结束。 遍历代码举例: 1 2 3 4 5 vector<int> v;//创建一个向量vs ...
vector<int> myVec;/添加10个元素for(int j =0 ; j<10 ; j+)myVec.push_back(j);/ 定义一个迭代器std:vector<int>:iterator p;/ 指向容器的首个元素p = myVec.begin();/ 移动到下一个元素p +;/ 修改该元素赋值*p = 20 ; /< 则myVec容器中的第二个值被修改为了20/ 循环扫描迭代器,改变...
vector<int> vec; //定义一个名为vec的vector<int>类型的容器 vector<int>::iterator iter=vec.begin(); //定义了一个名为iter的vec容器迭代器,并将迭代器iter初始化为指向vec容器的第一个元素 vector<int>::iterator iter2=vec.end(); //定义了一个名为iter2的vec容器迭代器,将迭代器iter2初始化为指...
在vector中插入元素包括两种,一种是在尾部添加元素,使用的函数是push_back()函数,另一种是在指定位置插入元素,使用到的函数是insert()函数。 其中,insert()函数的具体形式为: 代码语言:javascript 复制 insert(p,t) 指的是在迭代器p之前插入值为t的元素。具体应用如下面的例子: ...