list常用成员函数介绍,今天正好学到这一节,就顺便记录一下! 小唐纯手敲 , 希望对大家有帮助


函数介绍

函数 说明
void merge(list<T,Alloc>&x) 将调用链表和链表x合并,并且储存在调用链表中,x链表将空,且在合并前需保证调用链表和x均已经排序,函数复杂度为线性时间
void remove(const T & val) 删除调用链表中所有val,函数复杂度为线性时间
void sort() 将调用链表按升序排列,N个元素的复杂度为NlogN
void splice(iterator pos,list<T,Alloc>x) 将链表x的内容插入到pos的前面,x链表将为空,函数复杂度为固定时间
void unique() 将调用链表中连续相同的元素压缩为单个元素,函数复杂度为线性时间

代码示例讲解

//TangYiJia 2023.1.25#include <iostream>
#include <list>
#include <iterator>
#include <algorithm>void outint(int n) {std::cout << n << " ";
}int main(void) {using namespace std;list<int> one(5, 2);  //5个2int stuff[5] = { 1, 2, 4, 8, 6 };list<int> two;two.insert(two.begin(), stuff, stuff + 5);int more[6] = { 6, 4, 2, 4, 6, 5 };list<int> three(two);  //复制构造three.insert(three.end(), more, more + 6);cout << "list one : ";for_each(one.begin(), one.end(), outint);cout << endl;cout << "list two : ";for_each(two.begin(), two.end(), outint);cout << endl;cout << "list three : ";for_each(three.begin(), three.end(), outint);cout << endl;three.remove(2);  //把three里面的2全删了,函数复杂度为线性时间cout << "After three.remove(2) :";for_each(three.begin(), three.end(), outint);cout << endl;three.splice(three.begin(), one); //splice完以后,one里的东西都没了,直接移到three里去了,函数复杂度为固定时间cout << "After three.splice(three.begin(), one) : ";for_each(three.begin(), three.end(), outint);cout << endl;cout << "list one : "; for_each(one.begin(), one.end(), outint);cout << endl;three.unique();  //把three里的连续相同元素压缩为单个元素,函数复杂度为线性时间cout << "After three.unique() : ";for_each(three.begin(), three.end(), outint);cout << endl;three.sort(); //升序排列 N个元素的复杂度为NlogNcout << "After three.sort() : ";for_each(three.begin(), three.end(), outint);cout << endl;three.unique();cout << "After three.unique() : ";for_each(three.begin(), three.end(), outint);cout << endl;two.sort();three.merge(two); //将three和two合并,合并前需俩链表都已排序,合并后保存在three中,two没了cout << "After tthree.merge(two) ,list three : ";for_each(three.begin(), three.end(), outint);cout << endl;cout << "After three.merge(two) ,list two : ";for_each(two.begin(), two.end(), outint);cout << endl;return 0;
}

运行结果

总结

本文仅仅简单介绍了list的成员函数的使用,我觉得还是挺清楚明白的! 唐怡佳继续加油叭!

【贼好理解!!】C++ list链表常用成员函数讲解相关推荐

  1. leetcode中使用c++需要注意的点以及各类容器的初始化、常用成员函数

    目录 1.传引用 2.vector使用 初始化方法 常用成员函数 3.字符串string 初始化方法 常用成员函数 4.哈希表 unordered_map 初始化 常用成员函数 示例:计数器 5.哈希 ...

  2. 【C++】类和对象的默认成员函数讲解

    文章目录 简介 构造函数※※※ 系统生成的默认构造函数的特性 构造函数的初始化列表 析构函数※ 拷贝构造函数※※※ 默认的拷贝构造函数 赋值重载函数 赋值运算符的重载格式 赋值运算符只能重载成类的成员 ...

  3. 跟燕十八学习PHP-第十三天-常用数组函数讲解

    /**  燕十八 公益PHP培训  课堂地址:YY频道88354001  学习社区:www.zixue.it  **/ <?php // 数组函数讲解 /* count 函数 作用:计算数组的单 ...

  4. list(链表)常用成员(顺序容器)----插入push_back,push_front,insert删除pop_back,pop_front,erase,clear遍历begin,end判空empt

    转自:https://blog.csdn.net/kyfvc/article/details/8879680 list头文件: #include <list> using namespac ...

  5. MFC常用类、成员函数、数组类、Cstring类、CTime类、CPoint类

    MFC数组类CByteArray: CDWordArray: CPtrArray: CUIntArray: CWordArray: CStringArray: 常用成员函数 1.int Add( AR ...

  6. Unity常用事件函数与变量

    一.常用必然事件 Awake:脚本实例被创建时调用(用于游戏对象的初始化,注意Awake的执行早于所有脚本的Start函数) Start: Update函数第一次运行之前调用(用于游戏对象的初始化) ...

  7. C++ 常用容器成员函数用法总结

    C++ 常用容器成员函数用法总结 C++ 常用容器成员函数用法总结 简介 迭代器 简介 array: 静态数组 简介 构造函数 访问 / 赋值 迭代器 下标 / at 批量赋值 swap (交换函数) ...

  8. java继承类型转换_#java 一个简单的例子理解java继承、成员函数重写、类型转换...

    一个简单的例子理解java继承.成员函数重写.类型转换 1.继承简介 举一个简单的例子:笔分为很多种,比如毛笔.钢笔.圆珠笔等等,这些笔都有一些相同的属性比如长度.笔迹的粗细等等:但他们也有不同的特点 ...

  9. 深入理解成员函数的重载、隐藏、覆盖规则(二)

    本文作者:islwj 本文出处:http://blog.csdn.net/islwj 声明: 本文可以不经作者同意, 任意复制, 转载, 但任何对本文的引用都请保留文章开始前三行的作者, 出处以及声明 ...

最新文章

  1. 小程序十一:网络请求
  2. 天体摇摆仪的工作原理
  3. XCTF_Web_新手练习区:simple_php
  4. 一年几百亿的电费 中国移动再提5G功耗问题
  5. 您好,dotnet tool
  6. java rc2加密_急求java RC2加密算法
  7. Impala:大数据丛林中敏捷迅速的黑斑羚
  8. 安卓模拟器安装过程记录 20200926
  9. 宿松的小孤山在安徽省内有名吗?
  10. js获取image中src属性的方法语句
  11. UWB源码资料 研创物联源码资料 可二次开发 dwm1000模块 双边双向测距
  12. 计算机编辑作业之目录制作,大学计算机ppt作业
  13. 实现Http Server的三种方法
  14. 邮箱服务器输入密码,Foxmail的设置方法?
  15. 万豪国际集团旗舰酒店品牌正式入驻中国东北地区
  16. SLAM论文笔记---- FlowNet及FlowNet2.0
  17. 茧数SCRM营销自动化的定位
  18. nginx事件模型小结
  19. Chrome浏览器默认打开无痕模式
  20. 微博爬虫python_利用python实现新浪微博爬虫

热门文章

  1. Hybrid APP 混合开发经验总结《三》
  2. 企业数字化转型的驱动引擎—看中机云如何赋能企业,纵横云端|中机智库
  3. [流表] ovs常规操作
  4. bzoj1671 Knights of Ni 骑士 BFS
  5. 【转载·SCTP协议】浅析 - SCTP协议
  6. centos8安装python3.6_Centos下安装Python3.6
  7. CenOS7 运维 - DNS域名解析服务 | 正向解析 | 反向解析 | 主从服务器实时同步 | 分离解析 | 排错思路及方案 | 超详细
  8. windows server 2003 系列号
  9. 【码农学编曲】人声伴唱与混音
  10. SpringBoot--网上商城项目(自定义的参数解析器、购物车后台前台功能、商品详情页)