C++ 标准库类型 list


一、list 的使用与定义


1、使用 list 类型

  • list 类型是双向链表,有迭代器
  • 插入和删除的速度比较快,查询的速度慢
#include <list>  

2、定义和初始化 list 对象

// 声明一个空的 list
list<int> l; // 声名并初始化,4个元素值都为100
list<int> l1(4,100);

二、list 操作


1、list 类成员函数

assign(): 给list赋值
back(): 返回最后一个元素
begin(): 返回指向第一个元素的迭代器
clear(): 删除所有元素
empty(): 如果list是空的则返回true
end(): 返回末尾的迭代器
erase(): 删除一个元素
front(): 返回第一个元素
get_allocator(): 返回list的配置器
insert(): 插入一个元素到list中
max_size(): 返回list能容纳的最大元素数量
merge(): 合并两个list
pop_back(): 删除最后一个元素
pop_front(): 删除第一个元素
push_back(): 在list的末尾添加一个元素
push_front(): 在list的头部添加一个元素
rbegin(): 返回指向第一个元素的逆向迭代器
remove(): 从list删除元素
remove_if(): 按指定条件删除元素
rend(): 指向list末尾的逆向迭代器
resize(): 改变list的大小
reverse(): 把list的元素倒转
size(): 返回list中的元素个数
sort(): 给list排序
splice(): 合并两个list
swap(): 交换两个list
unique(): 删除list中重复的元素


2、实例

#include <iostream>
#include <list>
using namespace std;// 创建一个链表对象,并赋值
list<int> l;
for (int i=1; i<=5; ++i) l.push_back(i);      // 1 2 3 4 5// 在迭代器前面插入
it = l.begin();++it;
l.insert (it,10,20);      // 1 10 20 2 3 4 5    // 删除元素,
l.erase(it)     // 删除迭代器元素,可以范围删除
l.remove(2)     // 删除第一个该值的元素// 从小到大升序排序
l.sort();      // 删除重复的元素
l.unique();  // 遍历链表
for (list<int>::iterator it=l.begin(); it != l.end(); ++it)cout << *it << endl;

三、forward_list


1、使用 forward_list 类型

  • forward_list 类型是单向链表,有迭代器
#include <forward_list>  // 声明一个空的 forward_list
forward_list <int> fl; // 声名并初始化,4个元素值都为100
forward_list <int> fl1(4,100);

2、forward_list 的操作

  • 和 list 类似,但是只有单向操作
  • 没有关于 back 的成员函数:back(),pop_back(),push_back()都没有

C++ 标准库类型 list相关推荐

  1. bitset类型, 标准库类型

    C++ primer 17.2 bitset类型, 标准库类型 1 使得位运算更容易实现, 并且能够处理超过最长整型大小的位集合. bitset定义在bitset中 定义和初始化bitset 1 bi ...

  2. C++ 标准库类型 stack

    C++ 标准库类型 stack 一.stack 的使用与定义 1.使用 stack 类型 stack 类型没有迭代器,不能用迭代器遍历队列 #include <stack> 2.定义和初始 ...

  3. C++ 标准库类型 queue

    C++ 标准库类型 queue 一.queue 的使用与定义 1.使用 queue 类型 queue 类型没有迭代器,不能用迭代器遍历队列 #include <queue> 2.定义和初始 ...

  4. C++ 标准库类型 map

    C++ 标准库类型 map 一.map 的使用与定义 1.使用 map 类型 标准库类型 map 就是字典,每个元素是一组键值对.使用红黑树实现. 关键字是互异的,不存在相同的键值. map 内部的元 ...

  5. C++ 标准库类型 set

    C++ 标准库类型 set 一.set 的使用与定义 1.使用 set 类型 标准库类型 set 就是数学上的集合.使用红黑树实现. 每个元素只出现一次 #include <set> us ...

  6. C++ 标准库类型 vector

    C++ 标准库类型 vector 一.vector 的使用与定义 1.使用 vector 类型 标准库类型 vector 表示对象的集合,也称容器. #include <vector > ...

  7. C++ 标准库类型 string

    C++ 标准库类型 string 一.string 类型的使用和定义 1.使用 string 类型 标准库类型 string 表示可变长的字符序列 #include <string> us ...

  8. 标准库类型string的基本功能和使用

    标准库类型string的基本功能和使用 String基本知识 初始化 基本操作 范围for语句 string定义的迭代器及其他 关于下标操作 示例代码 练习3.6 cctype.cpp punctRe ...

  9. 标准库类型String,Vector

    string对象中每个字符的处理: 要用到 for(声明:表达式) 语句 比如简单的打印string str中每一个字符 --- string str("hello world!!!&quo ...

最新文章

  1. 【系列】EOS开发3 EOS提供的程序和工具
  2. C语言中 . 和 - 区别详解(举例解释)
  3. 免费python自学攻略-自学python二三事
  4. 模拟退火 (poj 2420, poj 2069)
  5. 面试真题:经典智力题最详汇总(上)
  6. 在Ubuntu系统上安装minidwep-gtk软件
  7. 优化广域网带宽,让应用加速
  8. 火爆全网的 “蚂蚁牙黑” 特效 今天你也可以做。
  9. android官方模拟器下载安装,网易MuMu模拟器
  10. MySQL主从之GTID主从
  11. 飞桨PP-HumanSeg本地实时视频推理代码解读
  12. 网易邮箱服务器邮箱协议,怎么用网易闪电邮IMAP协议同步网页邮箱?
  13. margin重叠问题
  14. 汽车MEMS传感器应用及发展
  15. 电阻应变片式测力传感器弹性体设计要求
  16. Mysql报表统计常用sql
  17. 0626第一篇博客CSDN我就是那个学编程的女神。。经病!
  18. Navicat使用跳板机连接mysql
  19. 如何查询尼斯分类商品项目
  20. WIFI接入之Authentication和Association流程梳理

热门文章

  1. rsa.FromXmlString 系统找不到指定的文件
  2. C++ 经典面试题
  3. 由于昨天没发博客,在此向广大粉丝们道歉。 今天发的是一个数据库的代码
  4. unity3d Vector3.Lerp解析
  5. hdu 5188 dfs+二分
  6. 使用cert-manager实现Ingress https
  7. GitHub入门与实践 读书笔记一:欢迎来到GitHubde世界
  8. 初识莫队——小Z的袜子
  9. 【bzoj3280】小R的烦恼 费用流
  10. Grunt 常用插件