当前位置: 首页 > backend >正文

list和list中的注意事项

list

list的主流访问方式是迭代器。

sort排序,vector可以使用但list不行。因为他的底层是需要随机迭代器。

链表的排序方法有自己的排序模板sort。

大量的链表数据排序建议先拷贝到vector,使用vector排序,然后在拷贝回list。

去重复(前提是先排序。)

splice:转移,剪切。

可以进行链表内部单个位数的转移。

如果一个类有公有,有私有,用class;如果一个类几乎是都是公有,用struct。

链表的迭代器要进行封装。

全是内置类型时无法进行运算符重载(必须要有一个自定义类型),这个list中让全是内置类型的运算吧有了一种变相的重载方法。

要注意在在 operator->() 的实现中,不能将 &__node->_data 替换为 *__node->_data,这里的&不是引用,而是取地址。

临时变量,匿名变量的const和正常的const不同,可以调用非静态成员函数,所以在list中begin可以++。

const迭代器:(不能是普通迭代器+const修饰。)类似const T(T可改,T不可改):重新定义一个类的封装。

http://www.xdnf.cn/news/14912.html

相关文章:

  • 使用ADSL接入Internet,用户端需安装什么协议?
  • Kubernetes 集群相关规范
  • 手机电工仿真软件更新了
  • 让你的asp.net网站在调试模式下也能在局域网通过ip访问
  • NLP之文本纠错开源大模型:兼看语音大模型总结
  • bottles安装网易云出现的问题01中文出现乱码问题
  • JavaScript基础语法之运算符和控制流
  • 程序员在线接单
  • 记录一点开发技巧
  • 七牛云前端面试题及参考答案 (上)
  • 隐马尔可夫模型(HMM):观测背后的状态解码艺术
  • 动手学深度学习-学习笔记【二】(基础知识)
  • 编程中的英语
  • 【C语言刷题】第十一天:加量加餐继续,代码题训练,融会贯通IO模式
  • cloudflare配合github搭建免费开源影视LibreTV一个独享视频网站 详细教程
  • HarmonyOS学习2---工程目录UIAbility
  • rk3128 emmc显示剩余容量为0
  • C++ 模板参数匹配、特化
  • openai和chatgpt什么关系
  • 11_架构演进:从单体到云原生的蜕变
  • 查看linux 系统中 支持哪些 ssh negotiate 算法
  • webpack+vite前端构建工具 -11实战中的配置技巧
  • 后端快捷代码
  • Redis服务器
  • JVM的位置和JVM的结构体系
  • ASP.NET 安装使用教程
  • 人工智能-基础篇-18-什么是RAG(检索增强生成:知识库+向量化技术+大语言模型LLM整合的技术框架)
  • Spark SQL架构及高级用法
  • Zama 机密区块链协议Litepaper
  • Android Input 系列专题【事件的读取与分发】