- 浏览: 218676 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
Wangwei86609:
非常好的规则引擎框架,支持决策树和多线程运行规则https:/ ...
规则引擎 -
hzxlb910:
真详细,收藏哈
maven setting.xml配置说明 -
东方胜:
[b][/b]
脚本语言 Tcl -
345161974:
hyw520110 写道345161974 写道这个Visua ...
Visual Tcl Binary 完整版(完美中文支持) -
hyw520110:
345161974 写道这个Visual Tcl Binary ...
Visual Tcl Binary 完整版(完美中文支持)
- package com.leo_faith.www;
- public class Node {
- Object data;
- Node next;
- Node(Object d) {
- data = d;
- next = null;
- }
- }
package com.leo_faith.www; public class Node { Object data; Node next; Node(Object d) { data = d; next = null; } }
- package com.leo_faith.www;
- public class LinkList {
- /* 用变量来实现表头 */
- private Node Head = null;
- private Node Tail = null;
- private Node Pointer = null; //point to previous
- private int Length = 0;
- public void deleteAll() {// 清空整个链表
- Head = null;
- Tail = null;
- Pointer = null;
- Length = 0;
- }
- // 链表复位,使第一个节点成为当前节点
- public void reset() {
- Pointer = null;
- }
- // 判断链表是否为空
- public boolean isEmpty() {
- return (Length == 0);
- }
- // 判断当前结点是否为最后一个结点
- public boolean isEnd() {
- if (Length == 0)
- throw new java.lang.NullPointerException();
- else if (Length == 1)
- return true;
- else
- return (cursor() == Tail);
- }
- // 返回当前结点的下一个结点的值,并使其成为当前结点
- public Object nextNode() {
- if (Length == 1)
- throw new java.util.NoSuchElementException();
- else if (Length == 0)
- throw new java.lang.NullPointerException();
- else {
- Node temp = cursor();
- Pointer = temp;
- if (temp != Tail)
- return (temp.next.data);
- else
- throw new java.util.NoSuchElementException();
- }
- }
- // 返回当前结点的值
- public Object currentNode() {
- Node temp = cursor();
- return temp.data;
- }
- // 在当前结点前插入一个结点,并使其成为当前结点
- public void insert(Object obj) {
- Node e = new Node(obj);
- if (Length == 0) {
- Tail = e;
- Head = e;
- } else {
- Node temp = cursor();
- e.next = temp;
- if (Pointer == null)
- Head = e;
- else
- Pointer.next = e;
- }
- Length++;
- }
- // 返回链表的大小
- public int size() {
- return Length;
- }
- // 将当前结点移出链表,下一个结点成为当前结点,
- // 如果移出的结点是最后一个结点,
- // 则第一个结点成为当前结点
- public Object remove() {
- Object temp;
- if (Length == 0)
- throw new java.util.NoSuchElementException();
- else if (Length == 1) {
- temp = Head.data;
- deleteAll();
- } else {
- Node cur = cursor();
- temp = cur.data;
- if (cur == Head)
- Head = cur.next;
- else if (cur == Tail) {
- Pointer.next = null;
- reset();
- } else
- Pointer.next = cur.next;
- Length--;
- }
- return temp;
- }
- // 返回当前结点的指针
- private Node cursor() {
- if (Head == null)
- throw new java.lang.NullPointerException();
- else if (Pointer == null)
- return Head;
- else
- return Pointer.next;
- }
- // 链表的简单应用举例
- public static void main(String[] args) {
- LinkList a = new LinkList();
- for (int i = 1; i <= 10; i++)
- a.insert(new Integer(i));
- System.out.println("The currentNode is:" + a.currentNode());
- while (!a.isEnd())
- System.out.println("The nextNode is:" + a.nextNode());
- a.reset();
- while (!a.isEnd()) {
- a.remove();
- }
- a.remove();
- a.reset();
- if (a.isEmpty()) {
- System.out.println("There is no Node in List");
- }
- }
- }
发表评论
-
pushlet
2012-05-31 14:56 1168基于pushlet的文件监控系统的研究与实现 http ... -
@Transactional spring 配置事务
2012-04-25 11:15 2090@Transactional spring 配置事 ... -
Spring的组件自动扫描机制
2012-04-09 17:47 0Spring将所有的bean都纳入到IOC中创建、管理和维护。 ... -
struts&rest
2012-04-03 00:11 793深入浅出REST http://www.infoq. ... -
文件转码
2011-11-16 09:55 1991工程项目太多,各工程或各文件编码不统一时,可运行本工具类,把工 ... -
安装和使用SpringIDE-------III
2011-07-29 10:40 8372. 编写类文件 · ... -
安装和使用SpringIDE-------II
2011-07-29 10:39 681显示图表,如图: 发表于 @ 2006 ... -
安装和使用SpringIDE
2011-07-29 10:36 1127这篇文章谈谈如何安装与使用SpringIDE。作为辅助Sp ... -
使用AJDT简化AspectJ开发
2011-07-29 10:05 1019面向方面编程(AOP)可用来解决当今的 许多 应用需求 ... -
利用Apache的CLI来处理命令行
2011-05-16 17:02 977CLI是Jakarta Commons中的一个子类。如果你仅仅 ... -
CGlib简单介绍
2011-04-28 08:37 832CGlib概述:cglib(Code Generation L ... -
Java ClassLoader
2011-04-25 18:24 1001当Java编译器编译好.class ... -
Template模式与Strategy模式
2011-04-20 16:23 661template method模式和stra ... -
Ibatis读写CLOB数据
2011-03-21 14:21 1027转载:http://www.iteye.com/topic/7 ... -
轻松构建和运行多线程的单元测试
2011-03-18 22:09 973背景 并行程序 并行程序是指控制计算机系统中两个或多个分别 ... -
Cairngorm3中文简介
2011-03-18 22:07 1016官方原文地址:http://opensource.adobe. ... -
ibator改造之返回数据库注释和数据库分页
2010-12-23 17:24 2227转载:http://www.iteye.com ... -
quatrz 任务监控管理 (2)
2010-10-28 23:28 1440在《Quartz 任务监控管理 (1)》http://www. ... -
Quartz任务监控管理 (1)
2010-10-28 23:27 1284转载:http://sundoctor.iteye.com/b ... -
Quartz 在 Spring 中如何动态配置时间
2010-10-28 23:25 1682转载: http://sundoctor.iteye.com ...
相关推荐
这是一个单向链表,它具有插入与删除节点的功能。Entry类实现了链表的各节点。
Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现...
### JAVA单向链表的实现知识点详解 #### 一、链表基础概念 在深入了解Java单向链表的具体实现之前,我们首先需要了解链表的基本概念。链表是一种线性数据结构,它由一系列节点组成,每个节点包含两部分:数据域和...
本话题主要探讨两种常用的数据结构——单链表和双向链表在Java中的实现,以及相关的操作,如在头部添加节点、在尾部添加节点、遍历、逆置和删除。 首先,我们来理解单链表和双向链表的基本概念。单链表是一种线性...
约瑟夫问题,通过类实现的链表,并加以改进,做成双向链表
在Java编程中,单向链表是一种常见的数据结构,它由一系列节点...通过这个例子,你不仅学会了如何在Java中实现单向链表,还了解了如何在实际编程中使用它们。记住,理解并熟练掌握数据结构是提升编程技能的关键步骤。
这段源代码提供了一个简单的单向链表实现,包括插入、删除和打印链表的方法。你可以根据实际需求扩展其他功能,如查找节点、反转链表等。在培训班中,这样的代码示例有助于学员理解和掌握单向链表的工作原理及其在...
java语言模拟单向链表,JAVA数据结构
04.单向链表以及单向链表的应用.ppt
在这个实例中,我们将详细讨论如何在Java中实现单向链表,包括创建节点、插入节点、显示链表、删除节点、清空链表以及获取链表中指定范围内的数据。 首先,我们定义一个名为`Node`的类来表示链表中的节点。这个类有...
在这个名为"单向链表实现的叫号程序"的案例中,我们可以通过分析`CallNum.java`文件来理解如何利用单向链表来实现一个简单的财务叫号系统。 首先,单向链表不像数组那样有一个连续的内存空间,它的每个元素(节点)...
Java实现单向链表反转 Java实现单向链表反转是指将单向链表的顺序颠倒,例如原链表为A->B->C->D->E->F,反转后变为F->E->D->C->B->A。这种操作在实际开发中非常有用,例如在数据处理、数据分析等领域。 单向链表...
循环链表 实现约瑟夫环 java 自己写的 测试通过 有注释
本篇将深入探讨由Java实现的单向链表和双向链表。 首先,我们来理解单向链表。单向链表中的每个节点包含两部分:数据域(存储实际数据)和指针域(存储指向下一个节点的引用)。这种结构使得链表只能向前遍历,不能...
附件是Java版逆序单向链表的实现,一个.java 文件,编译后即可运行,文件绿色安全,仅供学习交流使用,欢迎大家下载学习交流! 代码首先定义了一个ListNode类来表示链表中的节点,然后在reverseList方法中实现了...
在"第一、二章"的压缩文件中,很可能包含了实现单向链表和双向链表操作的C、C++、Java或Python等语言的源代码示例。这些示例程序可能涉及了初始化链表、插入新节点、删除指定节点、查找特定元素、打印链表内容等功能...
与单向链表不同,双向链表中的每个节点都有两个指针,一个指向前一个节点,另一个指向后一个节点。这使得在链表中的导航更加灵活,对于某些特定的操作,比如反转链表,提供了更高效的解决方案。 双向链表的节点通常...
在Java中,单向链表可以被实现为LinkedList类,与ArrayList相比,它提供了不同的操作性能特点。ArrayList是基于数组实现的,而LinkedList则是通过节点之间的链接来存储数据,这使得在链表中插入和删除元素更加高效,...