您的位置:首页 > 其它

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

2016-06-07 19:10 375 查看
*/
* 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;
}
运行结果:
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: