一个简单的Java单链表
2012-07-28 02:54
253 查看
一直对链表不太熟悉, 今天看了下并写了下来, 错的地方请指正.(注意:有的地方判断不够严格).
这是一个单向链表:
打印结果:
根--->1--->2--->3--->4--->
true
根--->1--->3--->4--->
这是一个单向链表:
package com.test; public class Link { Node root; private class Node{ String name ; Node next; public Node(String name){ this.name = name; } public void add(Node node) { if(this.next == null){ this.next = node; }else{ this.next.add(node); } } public void print() { System.out.print(this.name+"--->"); if(this.next != null){ this.next.print(); } } public boolean query(String name) { if(this.next == null){ return false; }else if(this.next.name.equals(name)){ return true; }else{ return this.next.query(name); } } public void delete(Node preNode , String name) { if(this.name.equals(name)){ preNode.next = this.next; }else{ this.next.delete(this , name); } } } public void addNode(String name){ if(this.root == null){ this.root = new Node(name); }else { this.root.add(new Node(name)); } } public boolean queryNode(String name){ if(this.root == null){ return false; }else if(this.root.name.equals(name)){ return true; }else{ return this.root.query(name); } } public void deleteNode(String name){ if(this.root != null){ if(this.root.name.equals(name)){ this.root = this.root.next; }else{ this.root.next.delete(root,name); } } } public static void main(String[] args) { Link link = new Link(); link.addNode("根"); link.addNode("1"); link.addNode("2"); link.addNode("3"); link.addNode("4"); link.print(); System.out.println(""); System.out.println(link.queryNode("1")); System.out.println(""); link.deleteNode("2"); link.print(); } void print(){ if(this.root != null){ this.root.print(); } } }
打印结果:
根--->1--->2--->3--->4--->
true
根--->1--->3--->4--->
相关文章推荐
- Java实现的一个简单聊天软件
- 一个用Java编写的简单聊天室 用来学习Socket编程
- 我做的一个java简单文本编辑器代码
- 记事本 + 命令行 + Tomcat + JDK 写一个简单的JavaWeb程序
- 一个简单例子让你彻底理解java回调机制
- 一个简单java程序的运行全过程
- Java实现一个简单的栈结构---Strack
- 基于Java的一个简单的文件上传下载功能
- 一个java实现的简单文件下载程序
- 使用Java制作一个简单的记事本
- 求解一个简单的创建单链表的问题为什么用二级指针 ?
- 【java学习记录】3.采用面向对象的方法设计一个能对复数(Complex)进行加、减、乘法的简单运算的程序
- java基础--一个简单的记事本
- 使用Java8的Lambda实现的一个简单案例
- 用java做一个简单的二维码
- 用java写一个简单的区块链(上)
- Java WEB之Servlet学习之路(一)一个最简单的Servlet应用
- 一个用java发送邮件的简单小程序
- Java源码-一个简单的分词器(Tokenizing Telephone Numbers)
- 用java简单的实现单链表的基本操作