LinkedList 含iterator写法的理解

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

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

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

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

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

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

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

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

分工变得一目了然。

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

接下来是二叉搜索树

相关推荐
噢,我明白了36 分钟前
java中唯一键和幂等键的应用
java·后端
程序猿乐锅42 分钟前
【黑马点评 | 第八篇】Redisson分布式锁
java·数据库·spring boot·redis·分布式·spring·缓存
考虑考虑1 小时前
synchronized字符串常量
java·后端·java ee
长谷深风1111 小时前
Tool与Skill:AI能力设计的分水岭
java·人工智能·ai·大模型·aiagent
m0_587383001 小时前
广州24小时自助健身房解决方案实战指南与系统部署要点
java·spring·小程序·架构·需求分析
Escalating_xu1 小时前
【C 语言】深入理解指针(1·下):指针运算、野指针、assert 与传址实战
java·c语言·开发语言
实心儿儿1 小时前
Qt — Qt 事件
开发语言·qt
周杰偷奶茶2 小时前
【Java】数据类型与变量
java·开发语言
code斗2 小时前
Java数据结构:堆详解
java·开发语言·数据结构
重生之小比特2 小时前
【C++进阶】map和set
java·开发语言·c++