LinkedList 含iterator写法的理解

今天晚上感觉对LinkedList还没完全理解,就尝试自己写了一遍。

但是写到merge函数就发现我自己想的和之前查到的写法有区别,我没有用到Iterator,于是脑子里想的第一件事是遍历节点。

但是Iterator做到的,就是简化节点遍历的写法。

基本功能函数中节点的操作也完全符合牵线的物理直觉。

但是我在考虑Iterator的返回值时卡了壳,但现在想,最适合的返回值就是节点地址,同时让构造函数比创建的变量更加重要,但某种程度上确实也是多此一举,也可能是为了让形式便于理解,而不是写起来容易。

从理解框架的角度来想很合适:

一个新节点用Iterator的构造函数初始化,也有销毁时的析构函数,用Iterator类的成员函数取出data,访问next,判断等于还是不等于,左右++用访问next的辅助函数写出来,这让Iterator成为了一种集成->,*(),左右++,=,!=总共6中运算的极利于操作数据结构的类型。

这个时候Node是初始化的变量,data是访问信息。

分工变得一目了然。

pair<>和template的细节还不够,但是已经够用了

接下来是二叉搜索树

相关推荐
shmily麻瓜小菜鸡9 分钟前
JavaScript / TypeScript 易踩坑知识点 —— 异步编程类
开发语言·javascript·typescript
一技安身18 分钟前
【信创】Docker‑Compose V2 两种离线部署(独立模式、插件模式)简易教程
java·docker·eureka
七夜zippoe35 分钟前
为什么 2026 年每个 Java 团队都该懂 AI Agent
java·开发语言·人工智能
znnnk41 分钟前
【Python】GUI 开发从入门到实战(三):PyQt/PySide 进阶之路
开发语言·python·pyqt
时凌云.44 分钟前
【2026最新】JDK 下载安装与环境配置全教程(Windows/Mac/Linux 三平台,零基础友好)
java·linux·macos
Despacito10061 小时前
Java后端性能探查工具速查表
java·开发语言
蓝桉柒71 小时前
下载idea,用idea输入一个程序
java·ide·intellij-idea
晊晌_h1 小时前
嵌入式从0到精通——Linux C|TCP 并发服务器实现方案详解
服务器·开发语言·tcp/ip
传奇开心果编程2 小时前
【Rust入门知识点学与练】第17课:闭包 Closures
开发语言·学习·rust
蓝桉柒72 小时前
java字面量,变量
java