【贼好理解!!】C++ list链表常用成员函数讲解
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链表常用成员函数讲解相关推荐
- leetcode中使用c++需要注意的点以及各类容器的初始化、常用成员函数
目录 1.传引用 2.vector使用 初始化方法 常用成员函数 3.字符串string 初始化方法 常用成员函数 4.哈希表 unordered_map 初始化 常用成员函数 示例:计数器 5.哈希 ...
- 【C++】类和对象的默认成员函数讲解
文章目录 简介 构造函数※※※ 系统生成的默认构造函数的特性 构造函数的初始化列表 析构函数※ 拷贝构造函数※※※ 默认的拷贝构造函数 赋值重载函数 赋值运算符的重载格式 赋值运算符只能重载成类的成员 ...
- 跟燕十八学习PHP-第十三天-常用数组函数讲解
/** 燕十八 公益PHP培训 课堂地址:YY频道88354001 学习社区:www.zixue.it **/ <?php // 数组函数讲解 /* count 函数 作用:计算数组的单 ...
- 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 ...
- MFC常用类、成员函数、数组类、Cstring类、CTime类、CPoint类
MFC数组类CByteArray: CDWordArray: CPtrArray: CUIntArray: CWordArray: CStringArray: 常用成员函数 1.int Add( AR ...
- Unity常用事件函数与变量
一.常用必然事件 Awake:脚本实例被创建时调用(用于游戏对象的初始化,注意Awake的执行早于所有脚本的Start函数) Start: Update函数第一次运行之前调用(用于游戏对象的初始化) ...
- C++ 常用容器成员函数用法总结
C++ 常用容器成员函数用法总结 C++ 常用容器成员函数用法总结 简介 迭代器 简介 array: 静态数组 简介 构造函数 访问 / 赋值 迭代器 下标 / at 批量赋值 swap (交换函数) ...
- java继承类型转换_#java 一个简单的例子理解java继承、成员函数重写、类型转换...
一个简单的例子理解java继承.成员函数重写.类型转换 1.继承简介 举一个简单的例子:笔分为很多种,比如毛笔.钢笔.圆珠笔等等,这些笔都有一些相同的属性比如长度.笔迹的粗细等等:但他们也有不同的特点 ...
- 深入理解成员函数的重载、隐藏、覆盖规则(二)
本文作者:islwj 本文出处:http://blog.csdn.net/islwj 声明: 本文可以不经作者同意, 任意复制, 转载, 但任何对本文的引用都请保留文章开始前三行的作者, 出处以及声明 ...
最新文章
- 小程序十一:网络请求
- 天体摇摆仪的工作原理
- XCTF_Web_新手练习区:simple_php
- 一年几百亿的电费 中国移动再提5G功耗问题
- 您好,dotnet tool
- java rc2加密_急求java RC2加密算法
- Impala:大数据丛林中敏捷迅速的黑斑羚
- 安卓模拟器安装过程记录 20200926
- 宿松的小孤山在安徽省内有名吗?
- js获取image中src属性的方法语句
- UWB源码资料 研创物联源码资料 可二次开发 dwm1000模块 双边双向测距
- 计算机编辑作业之目录制作,大学计算机ppt作业
- 实现Http Server的三种方法
- 邮箱服务器输入密码,Foxmail的设置方法?
- 万豪国际集团旗舰酒店品牌正式入驻中国东北地区
- SLAM论文笔记---- FlowNet及FlowNet2.0
- 茧数SCRM营销自动化的定位
- nginx事件模型小结
- Chrome浏览器默认打开无痕模式
- 微博爬虫python_利用python实现新浪微博爬虫
热门文章
- Hybrid APP 混合开发经验总结《三》
- 企业数字化转型的驱动引擎—看中机云如何赋能企业,纵横云端|中机智库
- [流表] ovs常规操作
- bzoj1671 Knights of Ni 骑士 BFS
- 【转载·SCTP协议】浅析 - SCTP协议
- centos8安装python3.6_Centos下安装Python3.6
- CenOS7 运维 - DNS域名解析服务 | 正向解析 | 反向解析 | 主从服务器实时同步 | 分离解析 | 排错思路及方案 | 超详细
- windows server 2003 系列号
- 【码农学编曲】人声伴唱与混音
- SpringBoot--网上商城项目(自定义的参数解析器、购物车后台前台功能、商品详情页)