*/ * 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; }
运行结果: