C++list常用接口总结

本文详细介绍如何在C++中使用STL List进行数据管理,包括快速插入和删除、迭代器操作、列表排序和基本函数应用。通过实例演示了assign、back、insert和sort等关键函数的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

List是stl实现的双向链表,与向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢。使用时需要添加头文件
如果使用的数据插入和删除特别多的话可以考虑使用list来进行数据管理


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

using namespace std;

int main(int argc, char *argv[]) {

    list<int> list;
    // list赋值,可以使用另外一个List给该list赋值
    list.assign({1,2,3,4,5,6,7,8});
    // 返回最后一个元素的引用,元素还在列表中
    cout << "list size = " <<  list.size() << endl;
    cout << list.back() << "  " << list.size() << endl;
    // 列表迭代器跳转
    auto iter = list.begin();
    advance(iter, 6);  // advance是向前走几步的作用,迭代器不支持跳转的函数常这样使用
    cout << *iter << " " << endl;

    // list元素插入和排序
    list.insert(iter, 100);
    list.sort();
    for_each(begin(list), end(list), [](int data){
        cout << data << "  ";
    });
    cout << endl;

    // 清空列表
    list.clear();

    
    return 0;
}

执行结果:

list size = 8
8  8
7 
1  2  3  4  5  6  7  8  100  

Process finished with exit code 0

常用函数意义:

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中重复的元素
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Achilles.Wang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值