插入迭代器

来源:互联网 发布:织梦html5整站源码 编辑:程序博客网 时间:2024/05/17 22:53

C++提供了三种插入迭代器:

(1)back_inserter,创建使用push_back实现的迭代器

 (2)front_inserter,使用push_front实现(当前容器必须提供push_front操作!!!)

(3)inserter,使用insert实现插入操作。除了所关联的容器外,还带有第二个实参,指向插入起始位置的实参。


实例:

#include<list>#include<algorithm>#include<iterator>#include<iostream>using  namespace std;int main(){list<int> ilist, ilist2, ilist3;//ilist contains:3 2 1 0for (list<int>::size_type i = 0; i != 4; ++i)ilist.push_front(i);//ilist2 contains:0 1 2 3copy(ilist.begin(),ilist.end(),front_inserter(ilist2));//ilist3 contains:3 2 1 0copy(ilist.begin(),ilist.end(),inserter(ilist3,ilist3.begin()));cout << "ilist   " << "ilist2   " << "ilist3" << endl;for (list<int>::iterator it1 = ilist.begin(), it2 = ilist2.begin(), it3 = ilist3.begin(); it1 != ilist.end() && it2 != ilist2.end() && it3 != ilist3.end(); ++it1, ++it2, ++it3){cout <<" "<< *it1 <<"       "<< *it2 <<"        "<< *it3 << endl;}copy(ilist2.begin(),ilist2.end(),inserter(ilist3,ilist3.begin()));cout << "ilist3:";for (list<int>::iterator it = ilist3.begin(); it != ilist3.end(); ++it)cout << *it << "    ";cout << endl;return 0;}

测试结果:


0 0
原创粉丝点击