1.1.说明:std::list是顺序容器是双向链表;提供双向迭代功能,但空间效率较低双向链表元素都有一指针指向后一元素,也有一指针指向前一个元素支持从容器中任何位置插入和删除元素。不支持快速随机访问。添加,删除和移动列表中或多个列表中的元素不会使迭代器或引用无效。仅当删除相应的元素时,迭代器才无效。1.2.注意:不支持使用下标随机存取元素

1.3.函数:

函数 实例 说明
构造函数    
operator=    
assign(lst.begin(),lst.end())   分配
get_allocator   返回关联的分配器
Element access元素访问    
const int &front()const lst.front(); 返回数组首元素值
back() lst.back(); 访问最后一个元素
Iterators迭代器    
begincbegin   将迭代器返回到开头
endcend   将迭代器返回到末尾
rbegincrbegin   将反向迭代器返回到开头
rendcrend   将反向迭代器返回到末尾
Capacity容量    
bool empty() const;   检查容器是否为空
size_t  lst.size() const;   返回元素数
size_t max_size()   返回最大可能的元素数
void resize(size_t newsize)   更改存储的元素数 =size()
操作    
void unique()   删除连续的重复元素
void remove(value)   删除指定值,不存在忽略
remove_if()   删除满足特定条件的元素
iterator erase(iterator position);   删除迭代器所指元素;返回下一个元素的迭代器
void pop_front()   删除第一个元素
void pop_back()   删除最后一个元素
erase(std::list)    
erase_if(std::list)   擦除所有满足特定条件的元素
clear()   清除容器全部内容
     
void push_front(const &T Val)   元素插入头部;
void push_back(const &T Val)   在末尾添加一个元素
iter insert(iter pos, const &T val); lst.insert(lst.begin()+2,0); 在迭代器所指向元素前插入val
void splice(iterator i, list <T> & x, iterator first, iterator last)   在位置i前插入 x [first, last),x删除该区间。链表可是同一链表且i 不在 [first, last)
void merge(list <T> & x)   合并x到尾部并清空 x。要求二个都是有序
emplace(T value)   就地构造元素
emplace_front()   在开始处就位构造一个元素
emplace_back()   在末尾就位构造一个元素
Operations运作方式    
void sort()   对元素进行排序
void reverse()   反转元素的顺序
swap(std::list)   交换内容
2.实例#include <iostream>#include <list>#include <assert.h>using namespace std;#define print_list(lst)  \{   cout << "[";         \for (auto v:lst)     \cout << v << ",";\cout << "]" << endl; \}
int main() {//构造函数:int arr[6] = { 1,3,2,5,2,3 };int arr1[5] = {1,3,2,4,6 };list<int> lst(arr, arr + 6);list<int> lst1(arr1, arr1 + 5);list<int> lst2{ 10,13,14 };list<int> lst3 = lst2,lst4;lst4.assign(lst2.begin(), lst2.end());list<int>::iterator it;//it++;合法 it+1;不合法//获取元素:cout << lst.front() <<"="<< *lst.begin() << endl;//1 1首元素cout << lst.back()  << endl;//3 尾元素cout << lst.size() <<","<<lst.max_size()<< endl;//6,768614336404564650lst.resize(8);cout << lst.size() << "," << lst.max_size() << endl;//10, 768614336404564650assert(lst.empty() == false);//删除:lst.sort();lst.unique(); print_list(lst);//删除相邻重复元素lst.pop_front(); print_list(lst);//删除首元素lst.remove(5); print_list(lst);//删除元素5,若不存在忽略//排序:lst.sort(); print_list(lst);   lst.reverse(); print_list(lst);//反序//使用mergelst.sort(); lst1.sort();lst.merge(lst1); print_list(lst); print_list(lst1);//lst=slt+lst1 lst1=空//附加:print_list(lst4); print_list(lst2);for(auto it=lst2.begin();it!=lst2.end();it++)//lst4=lst4+lst2;lst2不变lst4.push_back(*it);print_list(lst4); print_list(lst2);//遍历元素:for (auto it = lst.begin(); it != lst.end(); ++it) {cout << *it << "," << endl;}return 0;}

C++ list (tcy)相关推荐

  1. python socket华为云服务器和客户端通信(tcy)

    经过无数次测试,失败,失败,失败,和华为技术沟通,失败,失败,失败,上网查询,没有:我都有些心灰意冷,最终解决,分享给大家. 不是替华为打广告,服务应该是没得说,有时一个问题的解决他是一个团队来处理的 ...

  2. 4.pymysql .cursor属性方法(tcy)

    游标对象  2019/1/24 就是对数据库进行具体的操作了,比如增.删.改.查等等一系列操作都可以完成 1.游标类型: 类型 描述 Cursor 普通的游标对象,默认创建的游标对象 SSCursor ...

  3. python调用youdao百度翻译API,翻译文本(tcy)

    用途:本文通过python实现在线翻译 说明:方式1:youdao实现翻译(不需要注册,翻译文本自动识别)方式2:baidu翻译API(需要注册,获取ip和密码)首先需要在百度翻译API官网进行注册, ...

  4. Windows10 pybind11 C++调用python-模块 (tcy)

    C++访问Py库 1.1.Python类型:handle,object,bool_, int_,float_,str,bytes,tuple, list,dict,slice,none,capsule ...

  5. Categorical分类对象属性方法与CategoricalDtype(Series.cat.序列分类类型函数)(tcy)

    pandas.Categorical  2019/1/7 函数: class pd.Categorical(values,categories =None,ordered=None,dtype=Non ...

  6. C++17基本教程 第6讲 数组 (tcy)

    1.1.说明:1)普通数组无边界检查,访问不够方便,应用<array>或<vector>替代2)数组声明必用常量表达式:禁用变量:内存是连续的3)初始化数组元素个数必须< ...

  7. python 学习汇总41:unicode( tcy)

    Unicode   2018/7/1 1.字符一般字符:'a';'严'; 特殊字符: 编辑器中不能直接输入,在字符串文字中使用转义序列 \u转义序列编写特定的Unicode代码点'\u0394' # ...

  8. python 学习汇总29:各种推导式( tcy)

    python的各种推导式(轻量级循环) 2018 / 6 / 16 1.推导式用途: 推导式是从一个数据序列构建一个新的数据序列的结构体,类似于for 循环 列表/字典/集合推导式优于 map/fil ...

  9. halcon C++编程 第6讲 HVector(tcy)

    1.1.说明:HDevelop中变量类型:tuples,iconic objects,vector1)iconic objects数据类型即图标对象,指的是 图像.区域和XLD数据的总称2)HALCO ...

  10. Windows10 pybind11 C++调用python-嵌入模块 (tcy)

    添加嵌入式模块 1.1.说明:使用PYBIND11_EMBEDDED_MODULE宏添加嵌入式二进制模块1.2.注意:该定义必须放在全局范围内.它们可以像其他模块一样导入与只能创建单个二进制扩展模块不 ...

最新文章

  1. ssh mysql环境搭建 myeclipse_MyEclipse整合ssh三大框架环境搭载用户注册源码下载
  2. Mocha BSM产品亮点——关联事件分析
  3. Android socket 编程 实现消息推送
  4. eclipse集成lombok了但是无法使用_编码神奇Lombok!搭配IDEA更爽哦!
  5. 单一职责原理讲解coding
  6. c# rar解压大小_C#利用WinRAR实现压缩和解压缩
  7. Java网络编程2---Socket-TCP编程
  8. 随想录(c编译器的实现)
  9. 解决window8 下连接PLSQL 报ora-12154错误
  10. 基于Centos6.2 X64系统下的邮件系统(二)
  11. 基于springboot的鲜花商城系统
  12. 移动、联通、电信三大运营商手机号段大全 附手机号正则表达式
  13. ceph osd 修复备忘
  14. django 分拆views 提示 module ‘app001.views‘ has no attribute ‘xxx‘
  15. 亲测有效win10系统QQ音乐无法安装
  16. 利用python写出德州扑克小游戏
  17. 中文地址识别api的使用测试,快递地址自动补全,自动识别省市区,地址清洗,到底哪个好用?
  18. 让Python程序自动玩数独游戏,秒变最强大脑!
  19. 获取 个位数 十位数 百位数 千位数
  20. Win10常见问题【Office等】

热门文章

  1. JavaScript立即执行函数报错--立即执行函数原理分析
  2. Node.js Web开发_第二章(2)
  3. 【前端架构】前端架构
  4. impact检测cable失败
  5. 软件测试 - 缺陷管理
  6. 华为无线AP4030,FIA--FAT模式更改
  7. 理解串口通信以及232、485、422常见问题
  8. 前端加载大图片的解决方案汇总
  9. 温湿度对养殖场有多重要?看看这个案例你就懂了
  10. 亿级Web系统搭建:单机到分布式集群