简单单向链表的列子
package node; public class LNode { private int data; // 脚标 private LNode next;// 表示下一个节点 public int getData() { return data; } public void setData(int data) { this.data = data; } public LNode getNext() { return next; } public void setNext(LNode next) { this.next = next; } }
package node; public class Linklist { private LNode head; // 定义一个头节点 // 创建链表的方法 public void createlink( int [] a) { LNode pnew; // 表示新产生的节点 LNode ptail = new LNode(); // 表示末节点 head = ptail; // 开始头节点跟末节点相同 for ( int i = 0 ; i < a.length; i++) { pnew = new LNode(); pnew.setData(a[i]); // 表示新节点的角标 ptail.setNext(pnew); pnew.setNext( null ); // 把新长生成的节点节点设置为空 ptail = pnew; // 把末尾设置当前最新的,实质是在移动末尾 } } public static void main(String[] args) { Linklist ll = new Linklist(); int a[] = new int [ 10 ]; for ( int i = 0 ; i < a.length; i++) { a[i] = i; } ll.createlink(a); //测试搜索的方法 ll.searchlink( 1 ); } // 搜索的方法 public void searchlink( int value) { LNode ptr; ptr = head.getNext(); while (ptr != null ) { if (value == ptr.getData()) { System.out.println( "找到数据:" + ptr.getData()); break ; } else { ptr = ptr.getNext(); } } if (ptr == null ) { System.out.println( "整个遍历完了,没找到数据" ); } } //删除的方法 public void deletelink( int value){ LNode p = head; LNode ptr = head.getNext(); while (ptr != null ){ if (ptr.getData() == value){ p.setNext(ptr.getNext()); //此处覆盖 System.out.println( "删除成功" ); break ; } else { p = ptr; ptr = ptr.getNext(); } } } //定义插入节点发方法 public void insertlink( int pot, int value){ LNode ptr; LNode pnew; ptr = head.getNext(); while (ptr != null ){ if (pot == ptr.getData()){ pnew = new LNode (); pnew.setData(value); pnew.setNext(ptr.getNext()); ptr.setNext(pnew); System.out.println( "插入成功" ); break ; } else { ptr = ptr.getNext(); } } if (ptr == null ){ System.out.println( "插入数据失败" ); } } //循环打印出所有的 public void printLink(){ LNode ptr; ptr = head.getNext(); while (ptr != null ){ System.out.println(ptr.getData()); ptr = ptr.getNext(); } } } |
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· 分享一个我遇到过的“量子力学”级别的BUG。
· C# 中比较实用的关键字,基础高频面试题!
· .NET 10 Preview 2 增强了 Blazor 和.NET MAUI
· 为什么AI教师难以实现
· 如何让低于1B参数的小型语言模型实现 100% 的准确率
· AI Agent爆火后,MCP协议为什么如此重要!