LinkedList 含iterator写法的理解

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

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

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

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

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

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

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

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

分工变得一目了然。

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

接下来是二叉搜索树

相关推荐
CarIise2 分钟前
Spring MVC 请求参数绑定与常用注解
java·spring·mvc
码途行者7 分钟前
处理超时未支付订单:两套轻量化方案,附 PHP 极简实现
开发语言·redis·php
云和数据.ChenGuang11 分钟前
LangChain 实战指南:从入门到构建智能应用
开发语言·人工智能·python·langchain
const_qiu14 分钟前
第三章 04:3.6 基础调用链的构建
开发语言·python
一条泥憨鱼14 分钟前
AI Agent 安全实践:从 MCP 工具调用到 Java 权限校验
java·人工智能·安全
向上的车轮15 分钟前
Python 大数据处理不慢:Polars + DuckDB + Arrow 实战指南
开发语言·python
Nebula_g20 分钟前
云禾外卖补充—项目整体后端运行逻辑-对流程的更深层次理解
java·开发语言·网络·数据库·状态模式·javase
萧瑟余晖20 分钟前
Spring Security 6.x新特性与架构演进详解
java·spring·架构
\光辉岁月/27 分钟前
1.Object类
java·面向对象·object类
鸽鸽程序猿38 分钟前
【项目】【在线判题系统】公共功能
java·spring boot·maven