链表c语言stl,【总结】C++ 基础数据结构 —— STL之链表(list)用法详解

文章目录

一、list 的介绍

二、list 的基本操作

三、list 的用法

一、list 的介绍

list 是 STL 中的一个序列容器,实现的是双向链表,每个元素都有两个指针,分别指向元素的前驱和后继。

list 不需要指定内存大小,因为他存储在不连续的内存空间中,并由指针将他们连接在一起。

由于链表的特点,不能进行内部的随机访问,无法通过位置来访问元素,即不支持[ ] 操作符和vector.at() 操作,必须逐个遍历,可以通过开始元素或者最后一个元素遍历,它的查找要在O(n)的时间才能完成。但它允许序列快速在任意位置进行插入和删除操作作,包括在两边的pop()和push()操作。

二、list 的基本操作

使用STL标准库的 list 时,应包含头文件:#include

1、定义

list l声明一个空链表

list l{1,2,3}声明一个含指定元素的链表

list l(n) 声明一个含n个元素的链表并全部初始化为0

list l(n, m) 声明一个含n个元素的链表并全部初始化为m

list l(a,b) 声明一个链表并初始化为区间[a,b]中的元素,a、b是迭代器

2、基本操作

增:

l.insert() 插入一个元素到list中

l.push_back() 在list的末尾添加一个元素

l.push_front() 在list的头部添加一个元素

删:

l.clear() 清空list的所有元素

l.erase() 删除一个元素

l.erase(l.begin(),l.end()) 将l从begin()到end()之间的元素删除。

l.pop_back() 删除最后一个元素

l.pop_front() 删除第一个元素

l.remove() 从list删除指定元素

l.remove_if() 按指定条件删除元素

l.unique() 删除list中重复的元素

改:

l.resize() 改变list的大小

l.reverse() 把list的元素倒转

查:

l.front() 返回第一个元素

l.back() 返回最后一个元素

l.empty() 若list是空的则返回true,否则返回false

l.max_size() 返回list能容纳的最大元素数量

l.size() 返回lis

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值