C++标准库 list使用方法

原创 2013年12月06日 11:09:52

list(链表)

       list 将元素按顺序存储在链表中,与向量(vector)相比,它允许快速的插入和删除,但是随机访问却比较慢

       list 对象函数:

1、assign()         //给list赋值

2、back()           //返回最后一个元素

3、erase()          //删除一个元素

4、clear()           //删除所有的元素

5、empty()         //如果list为空,返回true

6、begin()          //返回指向第一个元素的迭代器

7、end()             //返回指向最后一个元素的迭代器

8、get_allocator()  //返回list的配置器

9、insert()          //插入一个元素到list中

10、swap()     //交换两个list

11、merge()      //合并两个list

12、splice()      //合并两个list

13、pop_back()    //删除最后一个元素

14、pop_front()    //删除第一个元素

15、push_back()     //末尾添加一个元素

16、push_front()     //头部添加一个元素

17、rbegin()         //返回指向第一个元素的逆向迭代器

18、rend()        //返回指向最后一个元素的逆向迭代器

19、resize()      //返回list的大小

20、size()       //返回list中元素个数

21、max_size()   //返回list中能容纳元素的个数

22、reverse()  //把list中元素倒转

23、sort()     //把list中元素排序

24、unique()  //删除list中重复的元素

#include <iostream>
#include <list>
#include <algorithm>
#include <numeric>

using namespace std;

list <int> listOne;      //创建一个名为listOne的list对象
list <int>::iterator i;  //声明 i 为迭代器
list <int>::reverse_iterator j;
list <char> listTwo;
list <char>::iterator k;
list <char>::reverse_iterator m;
int main()
{
    listOne.push_front(2);  //从前面向listOne中添加数据
    listOne.push_front(1);
    listOne.push_back(3);  // 从后面向list中添加数据
    listOne.push_back(4);
    for(i = listOne.begin();i != listOne.end();++i) //从前向后显示list中的数据
        cout<<*i<<" ";
    cout << endl;
    for(j = listOne.rbegin();j != listOne.rend();++j)  //从后向前显示list中数据
        cout<<*j<<" ";
    cout <<endl;
    int t = accumulate(listOne.begin(),listOne.end(),0);   //list中的数据的累加
    cout<<t<<endl;
     i = max_element(listOne.begin(),listOne.end());   // 返回list中最大的数
    cout<<*i<<endl;
    // 迭代器对于字符的处理
    listTwo.push_front('B');
    listTwo.push_front('A');
    listTwo.push_back('x');
    listTwo.push_back('y');
    for(k = listTwo.begin();k != listTwo.end();++k)
        cout<<char(*k)<<" ";
    cout<<endl;
    k = max_element(listTwo.begin(),listTwo.end());
    cout<<char(*k)<<endl;
    for(m = listTwo.rbegin();m != listTwo.rend();++m)  //从后向前显示list中数据
        cout<<char(*m)<<" ";
    cout <<endl;
    return 0;
}

参考:http://m.blog.csdn.net/blog/szu030606/8565318

C++中list用法详解

1.关于list容器 list是一种序列式容器。list容器完成的功能实际上和数据结构中的双向链表是极其相似的,list中的数据元素是通过链表指针串连成逻辑意义上的线性表,也就是list也具有链...
  • yas12345678
  • yas12345678
  • 2016年09月20日 23:00
  • 16093

c++ STL的list用法总结

头文件 #include   声明一个int型的list:list a; 1、list的构造函数 lista{1,2,3} lista(n) //声明一个n个元素的列表,每个元素都是0...
  • xiaoquantouer
  • xiaoquantouer
  • 2017年04月21日 22:02
  • 1776

c++中list的使用说明

因公司项目需要,用到list容器 的用法 学习笔记如下 //创建一个list容器的实例LISTINT...
  • wuheshi
  • wuheshi
  • 2015年01月13日 09:01
  • 994

C++ list 使用方法

C++ list 使用方法使用 list需引入头文件#include 引入命名空间 using namespace std;list函数如下//assign() 给list赋值 //back...
  • LIQIANGEASTSUN
  • LIQIANGEASTSUN
  • 2016年01月24日 14:24
  • 741

C++ STL list介绍与使用方法

list(链表)链表也即链式表,在数据结构中,我们知道线性表的物理存储结构有两种,顺序表(数组)和链式表(结点)。链表是在堆中为每一个元素分配内存,然后利用指针将所有元素串起来。根据这种物理存储结构,...
  • Cypress1010
  • Cypress1010
  • 2016年12月15日 13:34
  • 1640

C++ STL中list的使用方法

转自:http://www.cnblogs.com/madlas/articles/1364503.html #include #include #include #include...
  • myknotruby
  • myknotruby
  • 2016年03月01日 11:52
  • 194

C++ List的用法(整理)

Lists将元素按顺序储存在链表中. 与 向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢. assign() 给list赋值  back() 返回最后一个元素 ...
  • lskyne
  • lskyne
  • 2013年08月27日 23:04
  • 165135

C++list的使用总结及常用list操作

一、List定义: List是stl实现的双向链表,与向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢。使用时需要添加头文件 #include  二、List定义和初始化: ...
  • fanyun_01
  • fanyun_01
  • 2017年02月26日 21:12
  • 814

C++容器用法简介——list

C++容器用法简介——list 翻译自cplusplus
  • gscsdlz
  • gscsdlz
  • 2016年08月06日 17:17
  • 1337

C++ list模板类介绍

简介          List是一种可在常数时间内在任何位置执行插入和删除操作的顺序容器。list是双向链表,其迭代器是双向的。与其他顺序容器(array, vector, deque)相比,...
  • zhangliang_571
  • zhangliang_571
  • 2014年05月18日 13:37
  • 7869
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++标准库 list使用方法
举报原因:
原因补充:

(最多只允许输入30个字)