简单链表实例
public class Link { class Node { // 把节点类定义成内部类 private String data; private Node next; public Node(String Data) { this.data = data; } /** * 添加节点的方法 */ public void add(Node newNode) { // 增加add方法 if (this.next == null) { // 判断下一个节点是否为空 this.next = newNode;// 如果下一个节点为空,则设置下一个节点为newNode } else { // 如果不为空 this.next.add(newNode);// 调用下一个节点的add方法 } } /** * 打印方法 */ public void print() { System.out.print(this.data+"\t"); if (this.next != null) { //如果下一个节点不为空,则继续打印 this.next.print(); //输出下一个节点 } } /** * 搜索方法 */ public boolean search(String data) {//内部定义搜索方法 if (data.equals(this.data)) { //判断当前节点的名字是否与查找的一致 return true; //如果一直,返回true } else { //继续判断下一个 if (this.next != null) { //下一个节点存在则继续查找 return this.next.search(data);//返回下一个的查询结果 } } return false; //没找到,则返回false } /** * 删除节点 */ public void delete(Node Previous, String data) { if (data.equals(this.data)) { //找到了匹配的节点 Previous.next = this.next; //空出当前节点 } else { if (this.next != null) { this.next.delete(this, data); //继续向下找 } } } } private Node root; // 表示根节点 /** * 添加方法 */ public void addNode(String data) { Node newNode = new Node(data); //建立一个新的节点 if (this.root == null) { //判断是否有根节点 this.root = newNode; //赋值根节点 } else { this.root.add(newNode); //添加到合适位置 } } /** * 输出所有信息 */ public void printNode() { if(this.root!=null){ //判断是否存在根节点 this.root.print(); //输出所有节点信息 } } /** * 判断是否包含某元素 */ public boolean contains(String data){ return this.root.search(data); //调用Node类的search方法 } /** * 删除方法 */ public void deleteNode(String data){ if(this.contains(data)){ //判断是否存在查找的信息 if(this.root.data.equals(data)){ //判断符合的节点是否为根节点 this.root=this.root.next; //将根节点之后的内容设置为根节点 }else{ this.root.next.delete(root, data); //删除节点 } } } }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· C#/.NET/.NET Core技术前沿周刊 | 第 23 期(2025年1.20-1.26)
· 程序员常用高效实用工具推荐,办公效率提升利器!