java单链表代码实现
来源:互联网 发布:酷狗音乐软件版本 编辑:程序博客网 时间:2024/05/27 14:13
用惯了C++,java写起来果然不太爽。。。不废话了,上代码。。。
package javaInnerclassDemo;class Link{class Node{private String name;private Node next;public Node(String name){this.name=name;}public void setname(String name){this .name = name;}public String getname(){return this.name;}public void addnode(Node newnode){if(this.next==null)this.next=newnode;elsethis.next.addnode(newnode);}public void printnode(){if(this.next!=null){System.out.print(this.name);System.out.print("——>");}elseSystem.out.println(this.name);if(this.next!=null)this.next.printnode();}public boolean searchnode(String name){if(this.name.equals(name)){return true ;}else{if(this.next!=null){return this.next.searchnode(name) ;}else{return false ;}}}public void deleteNode(Node preNode,String name){if(this.name.equals(name)){preNode.next = this.next ;}else{this.next.deleteNode(this,name) ;}}}private Node root;public void add(String name){Node newnode = new Node(name);if(this.root==null)this.root=newnode;elsethis.root.addnode(newnode);}public void print(){if(this.root!=null){ //之所以在外部判断,因为printnode需要迭代this.root.printnode();}elseSystem.out.println("链表为空,无法打印!");}public boolean search(String name){if(this.root.searchnode(name)==true)return true;elsereturn false;}public void delete(String name){if(this.search(name)){// 判断此节点是否存在if(this.root.name.equals(name)){if(this.root.next!=null){this.root = this.root.next ;// 改变根节点}else{this.root = null ;// 取消}}else{if(this.root.next!=null){this.root.next.deleteNode(root,name) ;}}}elseSystem.out.println("所要删除节点不存在!");}}public class LinklistDemo {public static void main(String[] args) {Link l = new Link();l.add("walkthehorizon");l.add("已经");l.add("无人");l.add("能挡");l.add("了");l.add("么");System.out.println("打印链表");l.print();System.out.println("查找链表");System.out.println(l.search("walkthehorizon"));System.out.println(l.search("放逐之刃"));System.out.println("删除节点");l.delete("么");l.print();}}java的单链表实现核心在于多层次迭代。
0 0
- java单链表代码实现
- 扫雷java实现代码
- Java代码实现堆栈
- 基数排序java实现代码
- java SequenceList实现代码
- Huffman java 代码实现
- JAVA代码实现阶乘
- java代码实现万年历
- java分页实现代码
- Java 代码实现分组
- Java实现倒计时代码
- java代码实现二叉排序树
- 基数排序 java代码实现
- 一些Java实现代码
- java代码实现压缩文件
- java c3p0代码实现
- POJ1002 java代码实现
- java代码实现分页
- 黑马程序员——通过代码创建按钮
- Oracle 11g服务详细介绍及哪些服务是必须开启的?
- Mybatis的入门的注意事项
- linux下编译安装ACE6.3.1
- HTML Templates
- java单链表代码实现
- 表格变色例子
- 矩阵快速幂 与快速幂的求解
- oracle crs起停步骤及srvctl crsctl 命令用法
- Android 取得应用程序的启动次数和运行时间等信息
- ubuntu dns,gateway
- Python标准库:内置函数list([iterable])
- C/C++语言中内容完全相同的多个函数,使用宏函数的写法
- C++ 新旧代码的兼容