java实现单向链表的增、删、改、查
来源:互联网 发布:书桌正对窗户 知乎 编辑:程序博客网 时间:2024/05/16 07:27
单向链表
作者:vashon
package com.ywx.link;/** * 单向链表 * @author vashon * */public class LinkTest {public static void main(String[] args) {Link l=new Link();l.addNode("A");l.addNode("B");l.addNode("C");l.addNode("D");l.addNode("E");System.out.println("==========增加之后的内容==========");l.printNode();System.out.println("\n包含D:"+l.contains("D"));System.out.println("==========删除之前的内容==========");l.deleteNode("A");System.out.println("==========删除之后的内容==========");l.printNode();}}class Link{//链表的完成类class Node{//保存每个节点private String data;//节点内容private Node next;//下一个节点public Node(String data){this.data=data;}public void add(Node newNode) {//将节点加入到合适的位置if(this.next==null){this.next=newNode;}else{this.next.add(newNode);}}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;}else{if(this.next!=null){//向下继续判断return this.next.search(data);}else{return 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(root==null){root=newNode;}else{root.add(newNode);}}public void printNode(){//链表的输出if(root!=null){root.print();}}public boolean contains(String name){//判断元素是否存在return this.root.search(name);}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);//把下一个节点的前节点和要删除的节点内容一起传入}}}}
1 0
- java实现单向链表的增、删、改、查
- 单向链表 增 删 改 查
- 单向链表的增删改查
- java链表之--单向链表的增删改查
- java链表结构(单向、双向的增删改查)
- 链表的增,删,改,查实现
- Java实现的链表,提供增,删,改,查方法。
- 二叉树的增、删、改、查(java实现)
- 用Java语言实现链表的增删改查
- java实现链表,增删改查
- java xml 的增、删、改、查
- 关于单向链表创建以及一些简单的增删查改功能
- 单向动态链表练习(学生系统的增删改查)
- JSP实现数据库的增、删、改、查、分页查
- 循环链表实现增、删、改、查等功能
- java实现cassandra的增删改查
- java实现cassandra的增删改查
- JAVA实现单链表的增删改查
- mkisofs命令制作iso文件
- Log4j配置详解
- PUTTY连接虚拟机linux,出现connection refused的解决方法!
- Number of 1 Bits
- Python经典书籍
- java实现单向链表的增、删、改、查
- 折腾vim YouCompleteMe
- Xcode 6如何创建类别
- Vijos-P1024-卡布列克圆舞曲(c++ && 简单模拟)
- caffe 初学笔记
- leetcode 第173题 Binary Search Tree Iterator
- android Collections.sort排序
- 第九周 课后实践:项目一——复数类中的运算符重载(续)
- Table tennis