C++——迭代器

▼魔方 西西 提交于 2019-12-27 03:11:06

除了每个容器定义的迭代器外,iterator库内还定义了其他的迭代器。

1.插入迭代器:向容器中插入元素

1.1 back_inserter

1.2 front_inserter

1.3 inserter

*it =val;
//上下等价
it=c.insert(it, val);//val插入it之前,并指向它
++it;//指向原来的元素
list<int> lst={1,2,3,4};
list<int> lst2,lst3;

copy(list.cbegin(),last.cend(),front_inserter(lst2));//lst2=4,3,2,1
copy(list.cbegin(),last.cend(),inserter(lst3));//lst3=1,2,3,4

 

2.流迭代器:绑定到输入输出流,用于遍历

stream_iterator<int> in_iter(cin),eof;
vector<int> vec(in_iter,eof);

 

3.反向迭代器:向后移动(forward_list没有,流迭代器也没有)

sort(vec.begin(),vec.end());//正常顺序排列
sort(vec.end(),vec.begin());//逆序排列

 

4.移动迭代器

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!