LinkedList 含iterator写法的理解

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

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

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

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

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

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

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

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

分工变得一目了然。

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

接下来是二叉搜索树

相关推荐
Devin~Y几秒前
大厂 Java 面试实战:从 Spring Boot 微服务到 AI RAG 音视频平台全链路解析
java·spring boot·redis·spring cloud·微服务·rag·spring ai
让我上个超影吧1 分钟前
Cluade code:Subagents (子代理)
java·ai
aXin_ya12 分钟前
乐尚代驾,总结
java
catchadmin13 分钟前
PHP 在领域驱动(DDD)设计中的核心实践
开发语言·php
仙俊红17 分钟前
Java JUC:CompletableFuture 详解,多个任务并行执行并等待全部完成
java·python·spring
JAVA面经实录91720 分钟前
MongoDB(文档型 NoSQL)
java·数据库·mongodb·nosql
cfm_291420 分钟前
JVM类加载机制初步了解
java·jvm
让我上个超影吧22 分钟前
Cluade code:上下文压缩
java·服务器·ai
plainGeekDev25 分钟前
批量写入 → Room 事务
android·java·kotlin
宋哥转AI25 分钟前
MCP 第一天我没写@Tool,先在一个大仓库里划这三层
java·agent·mcp