- 浏览: 533545 次
- 性别:
- 来自: 上海
-
文章分类
- 全部博客 (294)
- Java基础 (40)
- 架构分析 (37)
- 开发心得 (22)
- 架构乐园 (12)
- Java Web (6)
- 大牛专区 (5)
- 转载专区 (40)
- 小技巧 (16)
- Linux专区 (8)
- linux (3)
- Spring (2)
- N (1)
- 前台JS (1)
- SAP NETWEAVER (3)
- JMS (4)
- queue (1)
- 数据模型 (2)
- oracle (2)
- sqlserver (2)
- ubuntu (2)
- install gcc (1)
- MEMCACHED (2)
- SQLSERVER 驱动 (1)
- JVM GC 调优 (1)
- 服务器运维 (1)
- activiti 国际化 中文 (1)
- activiti (1)
- 前端开发 (1)
- tar.gz (1)
- Web安全 (1)
- CSRF (1)
- 技术架构 (4)
- 性能指标 (1)
- 响应时间 (1)
- 淘宝 (1)
- linux安装 (1)
- lucene (1)
- Mongodb (1)
- gis (1)
- 微信授权 code access_token open_id (1)
- Redis java 获取 (1)
- HTTP 跨域 同源策略 cookie (1)
- java 加密 3DES (1)
- CROS (1)
- Cookie (1)
- Rest (1)
- 跨域资源共享 (1)
- 3DES (1)
- Effective java读后感 (1)
- nginx (1)
- Tengine 开发 (1)
- HTTP/1.1 废弃 javaWEB (1)
- 支付宝 支付状态 (1)
- maven jdk (1)
- 应用宝统一链接 (1)
- git (2)
- git 代码上传 (1)
- ubuntu 安装 mysql 5.6 (1)
- Linux 命令学习 (3)
- Linux 命令 60 (2)
- linux 命令 (2)
- linux nginx 安装 (1)
- grant revoke (1)
- linxu jdk profile (1)
- git 使用 (1)
- 架构设计 (1)
- 上海居转户 居转户 (1)
- wind (1)
- elastic-job (1)
- Mysql (1)
- 个人站点 (1)
- nginx lua waf 实现 (1)
- github 算法指南 (1)
- go (1)
- MapReduace 大数据 (1)
- 架构PPT (1)
最新评论
-
jingchh:
帅哥, 这个类是哪个包下面的呢? 应该下载哪个jar包,谢谢~ ...
StringUtils工具类的常用方法 -
Nabulio:
StringUtils工具类的常用方法 -
yuanyuan2597:
那请问,按照你的方法进行修改调用。SELECT locatio ...
根据经纬度实现附近搜索Java实现 -
yangguo:
这个经理有病,埋伏打他一顿。
复试 等电话 -
emparadise329:
进一步学习了子类与父类间的关系
Java 子类对象实例化 面试题
网上看到的内部类实现单向链表,经典,留下以后自己好好研究
package com.gem.j2SE;
class Link
{
class Node
{
private String name; // 保存节点的名字
private Node next; // 保存下一个节点
public Node(String name)
{
this.name = name;
}
public void setNext(Node next)
{
this.next = next;
}
public Node getNext()
{
return this.next;
}
public String getName()
{
return this.name;
}
public void addNode(Node newNode)
{
if (this.next == null)
{ // 后面没有东西
this.next = newNode;
} else
{
this.next.addNode(newNode); // 向下继续插
}
}
public void printNode()
{
System.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;
} else
{
this.root.addNode(newNode);
}
}
public void print()
{
if (this.root != null)
{
this.root.printNode();
}
}
public boolean search(String name)
{
if (this.root != null)
{
return this.root.searchNode(name);
} else
{
return 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.name != null)
{
this.root.next.deleteNode(root, name);
}
}
}
}
}
public class LinkDemo
{
public static void main(String[] args)
{
Link link = new Link();
link.add("根节点");
link.add("第一节点");
link.add("第二节点");
link.add("第三节点");
link.add("第四节点");
link.add("第五节点");
System.out.println();
//System.out.println(link.search("第X节点"));
link.delete("第四节点");
link.print();
}
}
发表评论
-
eclipse 插件式安装 maven
2016-06-02 16:46 618以下为补充内容: 由于Maven项目地址经常变动,以上ma ... -
HTTP 接口设计指南
2016-01-12 15:04 3987# HTTP 接口设计指北 * 文档主要目的是为设计 ... -
IP 查询开放API
2015-10-12 19:57 978今天项目要用到 查询访问网站用户的IP 然后网上查询了 资料还 ... -
freemarker 数字输出中的逗号问题
2015-08-17 11:50 1664分类: Freemarker2012-04-23 1 ... -
redis cli 客户端连接
2015-07-27 15:31 1004Last login: Mon Jul 27 15:31:4 ... -
MySQL 建立索引
2015-05-05 09:16 783索引是一种特殊的数据结构,可以用来快速查询数据库的特定记录, ... -
[DB][MySql]关于取得自增字段的值、及@@IDENTITY 与并发性问题
2015-04-07 12:43 1584对于刚从Oracle转向MySql的人都会为,MySql中没 ... -
POI 合并单元格
2014-12-25 10:01 1137在用poi在EXECL报表设计的时候,遇到单元格合并问题,用 ... -
两个相同结构表 数据的 对复制
2014-12-09 17:43 813insert into TRP_MEMBER_RECOMMEN ... -
文章主要是介绍DB2取得当前时间的正确解析,如果你是DB2取得当前时间的内容解析,如果你是这方面的新手,对DB2取得当前时间的正确解的相关实际应用不是很了解的话
2013-09-26 19:05 764文章主要是介绍DB2取得当前时间的正确解析,如果你是DB2取 ... -
Lucene 3.X 自定义排序
2013-09-18 16:26 1293Lucene 3.X 自定义排序 发表于 2012 年 ... -
DB2时间函数
2013-08-12 20:11 2649DB2时间函数 DB2时间函数简单总结: ... -
linux 新建用户、用户组 以及为新用户分配权限
2013-08-07 19:14 950linux 新建用户、用户组 以及为新用户分配权限 P ... -
Lucene的分页查询
2013-08-06 16:05 849Lucene的分页查询 Posted on 2012- ... -
lucene3.0_IndexSearcher的基础使用及注意事项
2013-08-06 15:05 962lucene3.0_IndexSearcher的基础使用及注 ... -
ibatis db2 insert模板
2013-05-07 20:32 1150iBatis and DB2 INSERT statemen ... -
DB2 -创建用户和组,数据库
2013-05-06 18:05 72411、增加一个操作系统用户 groupadd test--- ... -
oracle 创建用户和表空间
2013-01-15 18:15 11051,创建临时表空间create temporary tab ... -
Java Web 胡言乱语 之--- JSP标准标签库
2012-05-08 09:27 1084JSTL 主要的标签分类: 1,核心标签库 c: ... -
JSP标签开发--详解
2012-05-04 17:42 4299标签开发之几大步骤: ...
相关推荐
该队列的主要特点是其内部数据结构采用了一个单向链表,并且实现了 BlockingQueue 接口,提供了线程安全的插入、删除和获取元素的操作。 单向链表是一种简单的数据结构,由一系列节点组成,每个节点包含数据以及...
在Java中实现循环链表,我们需要定义一个节点类(Node)来存储数据和指向下一个节点的引用,同时在链表类(CircularLinkedList)中维护头节点和当前大小。以下是实现的关键点: 1. **节点类(Node)**:创建一个内部...
在`IntegerLinkedList`类的内部,我们可以定义一个结构体(在C++中)或类(在Java中),代表链表节点。例如,可以命名为`ListNode`,包含一个整数变量`val`用于存储整数值,以及一个指针`next`指向下一个节点。 ```...
与单向链表相比,双向链表的每个节点多了一个指向前一个节点的指针,因此在双向链表中可以向前或向后遍历,这样为某些操作带来了便利。 #### 三、链表操作方法 在文件描述中,我们看到了几个关键的链表操作方法的...
2. **Java中的链表实现**: - **LinkedList类**:Java集合框架中的`java.util.LinkedList`类提供了链表数据结构的实现。它实现了List接口,支持添加、删除和修改元素,以及高效的迭代。 - **Node类**:LinkedList...
与单向链表不同,双向链表的每个节点不仅包含指向下一个节点的指针,还包含一个指向前一个节点的指针。这使得我们可以从前向后或从后向前遍历链表。下面我们将详细讲解如何实现一个自定义的Java双向链表,并参考提供...
二、Java中的链表实现 在Java中,链表主要有两种实现:LinkedList和ArrayList。ArrayList是基于动态数组实现的,而LinkedList是基于链表实现的。LinkedList类实现了List接口,提供了添加、删除、查找等操作。由于其...
链表分为单向链表和双向链表,其中双向链表可以向前和向后遍历。 4. **栈**:栈是一种后进先出(LIFO)的数据结构,常用于函数调用、表达式求值等场景。Java中,Stack类是Vector类的一个子类,提供了push、pop、...
这种链表结构的特点使得它在执行某些操作时比单向链表更加高效,比如从链表尾部开始的插入或删除操作。本文将介绍Java中双向循环链表的实现代码,代码包括了对链表长度的修改、获取链表长度、获取链表头尾节点等基本...
在Java中,链表通常通过实现LinkedList类来操作。LinkedList是Java集合框架的一部分,实现了List接口,因此可以像操作数组一样进行索引访问。此外,LinkedList还提供了特有的方法,如addFirst()、addLast()、...
例如,栈可以使用单向链表实现,通过在链表头部进行插入和删除操作;队列则可以使用双端链表,允许在两端进行入队和出队操作。 链表的性能特点需要注意,由于元素不是连续存储,随机访问(如通过索引访问)效率较低...
在Java中,链表主要通过`java.util.LinkedList`类来实现。本项目涵盖了单向链表、双向链表和循环链表三种类型,它们各自有不同的特点和用途。 1. **单向链表**: 单向链表只允许从一个方向遍历,每个节点包含两...
- 内部使用双向链表实现。 - 插入和删除操作快,只需修改前后节点的指针即可。 - 查找操作慢,通常需要遍历整个链表才能找到特定元素。 - 适用于频繁插入和删除元素的情况。 **使用场景选择**: - 如果需要频繁...
双向链表是一种特殊的链式数据结构,它与单向链表相比,每个节点不仅包含指向下一个节点的指针,还包含一个指向前一个节点的指针。这种设计使得在链表中的插入和删除操作更加灵活,可以从两端进行操作。在这个Java...
单向链表只能按一个方向遍历,双向链表可以从两个方向遍历,循环链表的最后一个节点指向第一个节点,形成环状。 2. **链表的常见操作** - 插入:在链表头部、尾部或指定位置插入新节点。 - 删除:根据节点值或...
2. 单链表实现:在Java中,可以创建一个LinkedList类来实现单向链表。LinkedList实现了List接口,每个节点包含一个元素以及指向下一个节点的引用。插入和删除操作相对快速,因为只需要改变相邻节点的引用,而无需...
链表有多种类型,其中最常见的是单向链表和双向链表。单向链表中的每个节点只有一个指针,通常指向下一个节点;双向链表则更复杂,每个节点有两个指针,分别指向前一个节点和后一个节点。双向链表的优势在于可以更...
双向循环链表与单向链表不同,它在每个节点中不仅保存了指向下一个节点的指针,还保存了指向前一个节点的指针,这种设计使得在链表中的前后移动更为便捷。在循环链表中,最后一个节点会指向第一个节点,形成一个闭合...
在"List_2"这个文件中,很可能是包含了关于链表实现的代码示例。可能包括以下内容: 1. 单向链表的创建:如何初始化链表,以及如何创建新节点并将其插入到链表中。 2. 遍历链表:如何从头节点开始,按顺序访问每个...