*/
* Copyright (c) 2016,烟台大学计算机与控制工程学院
* All rights reserved.
* 文件名:text.cpp
* 作者:常轩
* 微信公众号:Worldhello
* 完成日期:2016年6月7日
* 版本号:V1.0
* 问题描述:STL迭代器的使用
* 程序输入:无
* 程序输出:见运行结果
*/
//STL迭代器的使用
#include<iostream>
#include<list> //包含双向链表容器头文件
#include<iterator> //迭代器头文件(可以省略)
using namespace std;
int main()
{
list<int>nums; //整型双向链表,长度为0
nums.insert(nums.begin(),-99); //在链表第一个位置插入-99
nums.insert(nums.begin(),4); //在链表第一个位置插入4
nums.insert(nums.end(),50); //在链表尾插入50
list<int>::const_iterator p1; //p1是整型双向链表的迭代子
cout<<"正向输出双向链表中的所有元素:"<<endl;
for(p1=nums.begin();p1!=nums.end();p1++)
cout<<*p1<<" "; //依次输出链表中所有元素:4,-99,50
cout<<endl;
list<int>::reverse_iterator p2; //p2是整型双向链表的迭代子
p2=nums.rbegin(); //反向迭代指向最后一个元素
cout<<"逆向输出双向链表中的所有元素:"<<endl;
while(p2!=nums.rend()) //当反向迭代不指向第一个元素时
{
cout<<*p2<<" "; //逆向输出链表中的所有元素:50,-99,4
p2++;
}
cout<<endl;
return 0;
}


运行结果:

STL迭代器的使用、正向、逆向输出双向链表中的所有元素_STL