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

*/
 * 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;
}


运行结果:


原文地址:https://www.cnblogs.com/chxuan/p/8232183.html