C++ 标准库类型 list

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()都没有

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值