C++ list的实例详解

 更新时间:2017年09月29日 09:13:25   作者:阳光岛主  
这篇文章主要介绍了 C++ list的实例详解的相关资料,希望通过本文大家能够理解掌握这部分内容,需要的朋友可以参考下

 C++ list的实例详解

Source:

#include <iostream>  
#include <list>  
#include <numeric>  
#include <algorithm>   
using namespace std;   
  
typedef list<int> LISTINT;  //创建一个list容器的实例LISTINT 
typedef list<int> LISTCHAR; //创建一个list容器的实例LISTCHAR 
int main(void) {    
  LISTINT listOne;  //用LISTINT创建一个名为listOne的list对象   
  LISTINT::iterator i;  //声明i为迭代器     
  listOne.push_front (2); //从前面向listOne容器中添加数据 
  listOne.push_front (1);   
  listOne.push_back (3); //从后面向listOne容器中添加数据 
  listOne.push_back (4);    
    
  cout<<"listOne.begin()--- listOne.end():"<<endl;  //从前向后显示listOne中的数据 
  for (i = listOne.begin(); i != listOne.end(); ++i)     
    cout << *i << " ";   
  cout << endl;      
      
  LISTINT::reverse_iterator ir;  //从后向后显示listOne中的数据 
  cout<<"listOne.rbegin()---listOne.rend():"<<endl;  
  for (ir =listOne.rbegin(); ir!=listOne.rend();ir++)      
    cout << *ir << " ";       
  cout << endl;      
   
  int result = accumulate(listOne.begin(), listOne.end(),0); //使用STL的accumulate(累加)算法    
  cout<<"Sum="<<result<<endl;   
  
  LISTCHAR listTwo;  //用LISTCHAR创建一个名为listOne的list对象  
  LISTCHAR::iterator j;   //声明j为迭代器    
  listTwo.push_front ('A'); //从前面向listTwo容器中添加数据   
  listTwo.push_front ('B');    
  listTwo.push_back ('x');  //从后面向listTwo容器中添加数据  
  listTwo.push_back ('y');     
  cout<<"listTwo.begin()---listTwo.end():"<<endl; //从前向后显示listTwo中的数据 
  for (j = listTwo.begin(); j != listTwo.end(); ++j)   
    cout << char(*j) << " ";   
  cout << endl;    
  //使用STL的max_element算法求listTwo中的最大元素并显示   
  j=max_element(listTwo.begin(),listTwo.end());    
  cout << "The maximum element in listTwo is: "<<char(*j)<<endl; 
  return 0; 
}  
 
 

Result:

 
[work@db-testing-com06-vm3.db01.baidu.com c++]$ g++ -o list list.cpp 
[work@db-testing-com06-vm3.db01.baidu.com c++]$ ./list 
listOne.begin()--- listOne.end():
1 2 3 4 
listOne.rbegin()---listOne.rend():
4 3 2 1 
Sum=10
listTwo.begin()---listTwo.end():
B A x y 
The maximum element in listTwo is: y

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • ESP32CAM摄像头图像实时传输的配置详解

    ESP32CAM摄像头图像实时传输的配置详解

    这篇文章主要介绍了ESP32CAM摄像头图像实时传输,本文通过截图示例代码相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • C语言实现扫雷游戏详解

    C语言实现扫雷游戏详解

    这篇文章主要为大家详细介绍了C语言实现扫雷游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • 详解C语言的exp()函数和ldexp()函数以及frexp()函数

    详解C语言的exp()函数和ldexp()函数以及frexp()函数

    这篇文章主要介绍了详解C语言的exp()函数和ldexp()函数以及frexp()函数,注意这三个函数虽然看起来相似但实际功能却大相径庭!需要的朋友可以参考下
    2015-08-08
  • c++结构体排序方式(1条件,多条件)

    c++结构体排序方式(1条件,多条件)

    这篇文章主要介绍了c++结构体排序方式(1条件,多条件),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • C++中友元的实例详解

    C++中友元的实例详解

    这篇文章主要介绍了C++中友元的实例详解的相关资料,希望通过本文大家能掌握友元的使用方法,需要的朋友可以参考下
    2017-09-09
  • Qt自定义控件实现多彩色仪表盘

    Qt自定义控件实现多彩色仪表盘

    这篇文章主要为大家详细介绍了Qt自定义控件实现多彩色仪表盘,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • C语言 柔性数组的使用详解

    C语言 柔性数组的使用详解

    柔性数组(Flexible Array)是引入的一个新特性,它允许你在定义结构体时创建一个空数组,而这个数组的大小可以在程序运行的过程中根据你的需求进行更改特别注意的一点是:这个空数组必须声明为结构体的最后一个成员,并且还要求这样的结构体至少包含一个其他类型的成员
    2022-03-03
  • C++标准模板库vector的常用操作

    C++标准模板库vector的常用操作

    今天小编就为大家分享一篇关于C++标准模板库vector的常用操作,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-12-12
  • C++ 开发之实现操作符重载的实例

    C++ 开发之实现操作符重载的实例

    这篇文章主要介绍了C++ 开发之实现操作符重载的实例的相关资料,这里附有实例代码和实现效果图帮助大家参考实践,需要的朋友可以参考下
    2017-07-07
  • 浅谈CMake配置OpenCV 时静态链接与动态链接的选择

    浅谈CMake配置OpenCV 时静态链接与动态链接的选择

    下面小编就为大家带来一篇浅谈CMake配置OpenCV 时静态链接与动态链接的选择。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01

最新评论