vector与迭代器
2016-08-03 21:02
148 查看
迭代器:迭代器是一种对象,它能够用来遍历STL容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。迭代器修改了常规指针的接口,所谓迭代器是一种概念上的抽象:那些行为上象迭代器的东西都可以叫做迭代器。然而迭代器有很多不同的能力,它可以把抽象容器和通用算法有机的统一起来。
头文件
#include<iterator>
迭代器的意义:一句话“非常的方便”。
1.可以像指针一样,但是比指针更强大
2.在库里面有很多函数,比如说插入,删除,查找等等函数都被封装在库里面,所以使用时直接调用就可以了,不需要程序员自己编写,带来了很大的便利。
vector:容器,相当于一个动态数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的。
头文件#include<vector>
在vector中,也封装了很多的函数,可以进行调用,非常方便。
代码实现vector和iterator的使用
#include<iostream>
#include<vector> //头文件
using namespace std;
int main()
{
vector<int>v(5); //定义一个int型的容器
v[0] = 1;
v[1] = 2;
v[2] = 3;
v[3] = 4;
v[4] = 5;
v.insert(v.begin(),5); //在头位置插入数字5
v.insert(v.begin()+2,9); //在头位置后2个位置插入9
v.insert(v.end(),1); //在尾部插入1
v.erase(v.begin()+2); //删除开始第二个数
vector<int>::iterator it; //采用迭代器输出
for(it=v.begin();it!=v.end();it++)
{
cout<<*it<<endl;
}
}
头文件
#include<iterator>
迭代器的意义:一句话“非常的方便”。
1.可以像指针一样,但是比指针更强大
2.在库里面有很多函数,比如说插入,删除,查找等等函数都被封装在库里面,所以使用时直接调用就可以了,不需要程序员自己编写,带来了很大的便利。
vector:容器,相当于一个动态数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的。
头文件#include<vector>
在vector中,也封装了很多的函数,可以进行调用,非常方便。
代码实现vector和iterator的使用
#include<iostream>
#include<vector> //头文件
using namespace std;
int main()
{
vector<int>v(5); //定义一个int型的容器
v[0] = 1;
v[1] = 2;
v[2] = 3;
v[3] = 4;
v[4] = 5;
v.insert(v.begin(),5); //在头位置插入数字5
v.insert(v.begin()+2,9); //在头位置后2个位置插入9
v.insert(v.end(),1); //在尾部插入1
v.erase(v.begin()+2); //删除开始第二个数
vector<int>::iterator it; //采用迭代器输出
for(it=v.begin();it!=v.end();it++)
{
cout<<*it<<endl;
}
}
相关文章推荐
- C++ Vector 序列容器 之 使用vector和迭代器
- C++ Primer学习笔记——$4 vector类、迭代器、bitset类
- 没有躲过的坑--vector使用erase后迭代器变成野指针
- C++标准库类型vector及迭代器iterator简介
- C++中防止STL中迭代器失效——map/set等关联容器——vector/list/deque等序列容器—如何防止迭代器失效—即erase()的使用
- 关于STL的list,vector等用迭代器iterator,用erase删除元素出现的问题。
- 实战c++中的vector系列--将迭代器转换为索引
- 实战c++中的vector系列--可怕的迭代器失效之二(删除vector中元素)
- C++算法库学习__std::sort__对 vector进行排序_排序后就可以进行使用std::lower_bound进行二分查找(查找第一个大于等于指定值的迭代器的位置)__std::unique
- C++实现Vector->类型萃取和List->迭代器
- 数组、指针 与 vector、迭代器
- vector的插入操作使原迭代器全部失效,删除操作使其后面的原迭代器失效
- C++ Primer 有感(标准库vector及迭代器)
- C++ Primer学习笔记(3)——神奇的容器vector及其迭代器iterator
- STL vecotr 和 vector 正反序 迭代器简析
- C++ Vector swap操作前后迭代器为何不失效
- 实战c++中的vector系列--可怕的迭代器失效之二(删除vector中元素)
- C++ Vector 序列容器 之 使用vector和迭代器
- 【足迹】5.vector,范围for运算,迭代器,条件运算符!
- C++日记_17.6.11 迭代器报“vector iterators incompatible”错的一种情况