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 ...
随机推荐
- m个相同苹果放的n个相同盘子中的算法
m个相同的苹果,放在n个相同的盘子中,由于相同,使用排列组合的方法不好处理.这个问题困扰了我很久 最后由大神“或缺”给出了答案: 以8个苹果放在3个盘子中为例 思路: 8苹果3盘子 =8苹果2盘子+5 ...
- Boost源代码学习---shared_ptr.hpp
最近观看Boost库源代码.Boost功能强大的库,但它的许多源代码,十一细读太费时间,毕竟,还有其他东西要学.所以我决定脱脂感兴趣的章节,他们的设计思路和难以理解的地方记录. shared_ptr是 ...
- zoj 2966 Build The Electric System
就是套了个prim算法就ac了 #include <stdio.h> #include <string.h> #define MaxInt 0x3f3f3f3f #define ...
- Android应用开发提高篇(5)-----Camera使用
链接地址:http://www.cnblogs.com/lknlfy/archive/2012/03/06/2382679.html 一.概述 Camera是手机的一个很重要的设备,可以说现在的每一部 ...
- Android应用开发实例篇(1)-----简易涂鸦板
链接地址:http://www.cnblogs.com/lknlfy/archive/2012/03/03/2378328.html 一.概述 这次要做一个简单的涂鸦板应用,以前在Qt上实现过,突然想 ...
- cocos2d-x中的CCScrollView滑动体验不佳
在最近的项目中,使用了Cocos2d-x (2.2.0版本)提供的CCScrollView来拖动一个比较大的画面,但是发现滑动体验非常不佳, 手指离开屏幕后,滑动没有惯性,一个不算太大的画面,要滑动好 ...
- mysql 查询条件中文问题
这是mysql字符编码的问题,因为mysql默认的字符编码为latin1它并不识别中文,所以在读取查询语句时会出现乱码 从而使查询条件不正确所以我们只需要更改它的字符编码就可以一般都是用utf8 这里 ...
- jQuery validate入门
<html> <head> <meta charset="utf8"></meta> </head> <body& ...
- 百度2017笔试题:寻找n个员工中未打卡的那一个
声明:图片来自网络,笔者只是试着做了一下,然后做个记录. 拿到这个题目的时候,笔者首先想到的是二分.两个数组,一个是全体员工的集合A:一个是缺少一人的集合B.对A,B排序,再对B进行二分,得到B的中间 ...
- w3c标准的selection对象介绍
简介 术语 属性 方法 document.activeElement document.designMode = 'on'; 简介 selection是对当前激活选中区(即高亮文本)进行操作. 在非I ...