C++ STL之list具体解释
list容器是一个双向链表,能够高效地进行插入删除元素。
构造函数
list<Elem> c;//空list
list<int> c(3);//创建一个含有三个默认值是0的元素的链表
list<int> c(5,2);//创建一个含有五个元素的链表。值都是2
成员函数
c.begin();//返回指向链表第一个元素的迭代器
c.end();//返回指向链表最后一个元素之后的迭代器
c.rbegin();
c.rend();//反向迭代器
c.front();//返回链表c的第一个元素
c.back();//返回链表c的最后一个元素
c.empty();//推断链表是否为空
c.size();//返回链表c中实际元素的个数
c.clear();//清空链表
插入和删除
c.insert(pos,num);//在pos位置插入元素num
c.insert(pos,n,num);//在pos位置插入n个元素num
c.erase(pow);//删除pos位置的元素c.push_back(num);//在末尾添加一个元素
c.pop_back();//删除末尾的元素
c.push_front(num);//在開始位置添加一个元素
c.pop_front();//删除第一个元素
其它
c.reverse();//翻转链表
c.sort();//将链表排序,默认升序
c.sort(cmp);//自己定义小于函数
Demo
#include <iostream>
#include <list>
using namespace std;
list<int> l;
void printl()
{list<int>::iterator it;for(it = l.begin() ; it != l.end() ; it ++) {cout << *it << endl;}cout << "" << endl;
}
int main()
{l.push_front(1);//1l.push_back(2);//1->2printl();//1->2list<int>::iterator it = l.begin();it ++;l.insert(it,4);printl();//1->4->2l.reverse();printl();//2->4->1return 0;
}
转载于:https://www.cnblogs.com/liguangsunls/p/7149787.html
C++ STL之list具体解释相关推荐
- STL之nth_element__寻找第n大的元素
参考博客: STL nth_element神器 官方解释:http://www.cplusplus.com/reference/algorithm/nth_element/ nth_element(f ...
- C++ STL模板库用法查询及一些常见面试题(自用)
C++STL模板库 文章目录 C++STL模板库 用法查询 Array 1.使用 2.创建 3.成员函数 Vector 1.使用 2. 创建 3.成员函数 deque 1.使用 2. 创建 3.成员函 ...
- 【STL模板库_(个人总结)】
1.什么是STL? 2.解释一下什么是trivial destructor 3.使用智能指针管理内存资源,RAII是怎么回事? 4.迭代器:++it.it++哪个好,为什么 5.说一下C++左值引用和 ...
- [STL]六大组件介绍(目录 全)
一般介绍 STL(Standard TemplateLibrary),即标准模板库,是一个具有工业强度的,高效的C++程序库.它被容纳于C++标准程序库(C++ Standard Library)中, ...
- Qt中打开二维、三维的工程图
用了整整一个周的时间才搞完如何在Qt中打开二维.三维的工程图,并实现基本的移动.旋转.放大缩小.动画等功能.在这个过程中网上找了很多资料,主要用到Qt 中的QAxWidget类(ActiveX),下面 ...
- 【STL源码剖析】list模拟实现 | 适配器实现反向迭代器【超详细的底层算法解释】
今天博主继续带来STL源码剖析专栏的第三篇博客了! 今天带来list的模拟实现! 话不多说,直接进入我们今天的内容! 前言 那么这里博主先安利一下一些干货满满的专栏啦! 手撕数据结构https://b ...
- C++ STL的reserve函数
在阅读ceph源码过程中发现部分C++语法还是不够熟悉,特此做一下笔记. 关于STL中的reserve函数的使用 reserve()是为容器预留空间,即为当前容器设定一个空间分配的阈值,但是并不会为容 ...
- STL模拟实现1.0 -- list和iterator模拟实现和简单分析
引言 C ++ 标准模本库<STL>中有很多优秀的代码实现,不然怎么能叫做C++标准模板库呢,其中一个实现就是有一个容器,叫做list.所谓容器其实就是存储相同类型数据的一个存储集合,li ...
- c++ STL容器初探
什么是容器 首先,我们必须理解一下什么是容器,在C++ 中容器被定义为:在数据存储上,有一种对象类型,它可以持有其它对象或指向其它对像的指针,这种对象类型就叫做容器.很简单,容器就是保存其它对象的对象 ...
最新文章
- php选框判断,网络编程如何判断php复选框是否被选中
- qt 实现 以图片为中心 让它旋转_QT图片旋转动画
- virtualbox 命令
- 交际能力弱的人,适合当律师吗?
- 这台计算机上缺少此项目引用的 NuGet 程序包,DotNetCompilerPlatform
- 【字符编码系列】字符,字符集,字符编码解惑
- java weblogic 下载_JAVA_weblogic企业级技术 PDF 下载
- FFmpeg编解码器如何
- artDialog--经典的网页对话框组件
- C#-实现微信激活会员卡后响应激活动作并获取会员信息
- 关于C++ 存储类型auto、register、static、extern、mutable
- 仙侠手游服务器搭建。
- 保姆级教学!Xcode 配置 OpenGL 环境
- MapReduce实现矩阵乘法的一些总结
- 【操作篇】Excel中如何批量删除批注
- ORA-16032: parameter LOG_ARCHIVE_DEST_3 destination string cannot be translated
- python总结与习题(一)
- Java 9、10、11,谁才是Java程序员的本命?
- 海思16DV300系统搭建过程
- 第二章 Redis高级