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 ...
随机推荐
- 使用Highcharts生成折线图与曲线图
折线图与曲线图可以显示随时间而变化的连续数据,因此非常适用于显示在相等时间间隔下数据的趋势.本文将结合Highcharts,生成一个城市气温变化折线图和一个随时间动态即时显示CPU走势的曲线图. 如果 ...
- parquet code demo
http://www.programcreek.com/java-api-examples/index.php?source_dir=hiped2-master/src/main/java/hip/c ...
- iOS 之播放系统声音
导入框架: 代码: #import <UIKit/UIKit.h> #import <AudioToolbox/AudioToolbox.h> @interface MsgPl ...
- 合理设计C代码 函数笔记
本文首先用判断一个数字是否为素数使用For循环实现做例子,之后用函数完成多个功能. 什么是素数? 素数又成质数,不包含1和0.通俗的去说就是它除了能表示为它自己和1的乘积以外,不能表示为任何其它两个整 ...
- verilog中读取文件中的字符串_modelsim高级仿真
今天给个程序大家玩玩.因为今天遇到一个问题,就是要向UART发送指令,指令非常多,都是字符串.一直copy 函数 UART ("COMM_1"); UART ("COM ...
- JQuery 限制文本框只能输入数字和小数点
$(function(){ /*JQuery 限制文本框只能输入数字*/ $(".NumText").keyup(function(){ $(this).val($(this).v ...
- 电脑bios到底是什么?
没有哪个玩电脑的人不知道电脑bios,但是真正能明白bios是什么的?身边却没几个,甚至大多数电脑维修站的人员对bios也不够详细了解.一般人不去关心bios是因为它离我们的电脑真正使用仍有一段距离. ...
- live555学习经验链接一
live555学习经验链接:http://xingyunbaijunwei.blog.163.com/blog/#m=0&t=1&c=fks_084071082087086069082 ...
- 第三章 线性表(C#实现)
1.线性表 概念::零个或多个数据元素的有序序列. 描述: 2.线性表的抽象数据类型: ADT线性表 Data:线性表的数据对象集合为{a1,a2,...,an},每个元素的类型均为DataType. ...
- Google Play和基于Feature的过滤
田海立@CSDN 翻译自Google Play and Feature-Based Filtering GooglePlay会过滤出那些对用户可见的应用程序,因此用户只能看到和下载那些与他们的设备兼容 ...