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. atom创建html文件夹,如何在Atom文本编辑器中按文件类型设置默认语法?
  2. 学习笔记(5)——实验室集群LVS监控Web界面配置
  3. docker WARNING: bridge-nf-call-iptables is disabled 处理
  4. android 4.x环境搭建
  5. git / 如何将其他分支的某些 commit 合并到当前分支中?
  6. 屏幕适配 部分知识点总结,CSDN小冰原创
  7. 洛谷P5212:SubString(SAM、LCT)
  8. 最小二乘法支持向量机一般用在什么场合_人工智能科普|机器学习重点知识——支持向量机SVM...
  9. Android中发现java代码设置的字体过大
  10. java lock可重入_一文彻底理解ReentrantLock可重入锁的使用
  11. install opencv on mac and use it in xcode
  12. GCC的__attribute__ ((constructor))和__attribute__ ((destructor))
  13. win10下安装SQL2000
  14. IE8 访问https安全证书错误;导航阻止 解决办法
  15. php 后台实现订单支付成功后语音提示
  16. 电商之 团购与B2C模式以及B2B2C模式对比
  17. 漏洞工具包2015年态势回顾:规模与分布
  18. git 的批量克隆 批量切换分支 批量pull
  19. 特征选择方法_识别最优的数据驱动特征选择方法以提高分类任务的可重复性
  20. Qt自定义控件(IP输入框,windows下)

热门文章

  1. PHP Curl transfer closed with outstanding read data remaining
  2. BZOJ 1020——[SHOI2008]安全的航线flight
  3. 分享一些好用的 Chrome 扩展
  4. R语言:文本(字符串)处理与正则表达式
  5. ASP.NET MVC 学习之路-4
  6. MySql项目中使用的小窍门
  7. HDU 3613 Best Reward 正反两次扩展KMP
  8. NYOJ-523 亡命逃窜(三维立体的BFS)
  9. 今週木曜日までの日程表
  10. numpy 点乘_斯坦福CS217(六)Spatial点乘示例