Java学习之链表
数据结构学了,java实现下
package com.gh.Link;
/**
* 链表的实现
* @author ganhang
*
*/
public class Links {
public static void main(String[] args) {
NodeManage nm=new NodeManage();
nm.add("节点1");
nm.add("节点2");
nm.add("节点3");
nm.add("节点4");
nm.add("节点5");
nm.add("节点6");
nm.add("节点7");
nm.add("节点8");
nm.add("节点9");
nm.add("节点10");
nm.print();
nm.delete("节点3");
nm.print();
}
}
package com.gh.Link;
/**
* 链表管理(增删查)
* @author ganhang
*
*/
public class NodeManage {
private Node root; public void add(String name) {
if (root == null) {
root = new Node(name);
} else {
root.addNode(name);
}
} public void delete(String name) {
if (root != null) {
if (root.name.equals(name)) {
root = root.next;
} else {
root.delNode(name);
}
}
} public void print() {
if(root!=null){
System.out.print(root.name);
root.printNode();
System.out.println();
}
} class Node {//内部类实现根节点下节点的操作
private String name;
private Node next; public Node(String name) {
this.name = name;
} public void addNode(String name) {
if (this.next == null) {
this.next = new Node(name);
} else {
this.next.addNode(name);
}
} public void delNode(String name) {
if (this.next != null) {
if (this.next.name.equals(name)) {
this.next = this.next.next;
} else {
this.next.delNode(name);
}
}
}
public void printNode() {
if(this.next!=null){
System.out.print("-->"+this.next.name);
this.next.printNode();
}
}
}
}
Java学习之链表的更多相关文章
- Java学习笔记--链表
心在山东身在吴,飘蓬江海漫嗟吁. 他时若遂凌云志, 敢笑黄巢不丈夫. --水浒传 先上源代码,LinkedList类: private static class Node<E> { E i ...
- java学习之—链表(4)
/** * 使用链表实现队列 * Create by Administrator * 2018/6/19 0019 * 下午 4:37 **/ public class Link { public l ...
- java学习之—链表(3)
/** * 使用链表实现队列 * Create by Administrator * 2018/6/19 0019 * 下午 4:37 **/ public class Link { public l ...
- java学习之—链表(2)
/** * 双端链表操作 * Create by Administrator * 2018/6/14 0014 * 下午 2:05 **/ class Link1 { public long dDat ...
- java学习之—链表(1)
/** * 单链表操作 * Create by Administrator * 2018/6/14 0014 * 下午 2:05 **/ public class Link { public int ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- 第八周java学习总结
学号 20175206 <Java程序设计>第八周学习总结 教材学习内容总结 第十五章:泛型与集合框架 主要内容 泛型 链表 堆栈 散列映射 树集 树映射 重点和难点 重点:泛型和集合的使 ...
- java学习(五)
学号 20189214 <Java程序设计>第五周学习总结 教材学习内容总结 输入输出 文件系统可以包含3种类型的对象:文件.目录和符号链接. 一个文件或路径是一个java.io.File ...
- 20165236 第六周Java学习总结
20165236 第六周Java学习总结 一. 第八章内容: 1.String 类: String对象.常量对象:字符串并置: 常用方法: length,equals,startsWith,compa ...
随机推荐
- SQL Server 判断表中是否存在某字段
功能:判断表中是否存在某字段,若不存在,则新增该字段 语句: IF NOT EXIST (SELECT 1 FROM [DATABASE].[SCHEMA].SYSCOLUMNS WHERE ID=O ...
- Studious Student Problem Analysis
(http://leetcode.com/2011/01/studious-student-problem-analysis.html) You've been given a list of wor ...
- pthread 简要使用指南
http://www.2cto.com/kf/201208/151995.html http://www.2cto.com/kf/201208/151997.html
- linux下安卓编译apk环境搭建
ubuntu下linux安卓编译环境搭建. 配置好编译环境 (前提是已经安装了jdk,可以用java -verison 命令查看) 一.设置环境变量 用vi ~/.bashrc 打开编译环境 JA ...
- IE 弹出框处理经验
//各屏幕弹出窗样式 // 1366*768var style_1366x768 = "dialogWidth:950px;dialogHeight:650px;help:no;center ...
- centos7 install magento
http://mirrors.yun-idc.com/epel/7/x86_64/e/epel-release-7-2.noarch.rpmrpm --import /etc/pki/rpm-gpg/ ...
- php中 $$str 中 "$$" 的解释
原文:php中 $$str 中 "$$" 的解释 这种写法称为可变变量有时候使用可变变量名是很方便的.就是说,一个变量的变量名可以动态的设置和使用.一个普通的变量通过声明来设置,例 ...
- C# ikvm 运行htmlunit Provider com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl not found
在使用 ikvm 去运行 htmlunit 中的 webclient Getpage的时候 报错说com.sun.org.apache.xerces.internal.jaxp.DocumentBu ...
- 发送Email并添加附件
1. 添加命名空间 using System.Net.Mail; using System.Net; 2. The HTML MarpUp <html xmlns="http://ww ...
- C++对C语言的非面向对象特性扩充(3)
今天要讲的是C++作用域运算符"::",强制类型转换的扩充,C++中相对于C中malloc和free函数的运算符new和delete,以及C++对C的一个重要扩充:引用(refer ...