`
mtnt2008
  • 浏览: 369372 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

单向链表---Java版

阅读更多

 

1. 节点类

 

package com.linkedlist;

public class SLLNode {

	public Object info;

	public SLLNode next;

	public SLLNode(Object e1) {
		info = e1;
		next = null;
	}

	public SLLNode(Object e1, SLLNode ptr) {
		info = e1;
		next = ptr;
	}

}
 

2. 链表类

 

package com.linkedlist;

public class SLList {

	protected SLLNode head = null;

	public SLList() {
		;
	}

	public boolean isEmpty() {
		return head == null;
	}

	public Object first() {
		return head.info;
	}

	public void printAll() {
		for (SLLNode tmp = head; tmp != null; tmp = tmp.next) {
			System.out.println(tmp.info);
		}
	}

	// 好好理解一下
	public void add(Object e1) {
		head = new SLLNode(e1, head);
		// info = e1;
		// next = ptr;
	}

	public Object find(Object e1) {
		SLLNode tmp = head;
		for (; tmp != null && !e1.equals(tmp.info); tmp = tmp.next) {
			;
		}
		if (tmp == null) {
			return null;
		} else {
			return tmp.info;
		}
	}

	public Object deleteHead() {
		Object e1 = head.info;
		head = head.next;
		return e1;
	}

	public void delect(Object e1) {
		if (head != null) {
			if (e1.equals(head.info)) {
				head = head.next;
			} else {
				SLLNode pred = head, tmp = head.next;
				for (; tmp != null && !(tmp.info.equals(e1)); pred = pred.next, tmp = tmp.next) {
					;
				}
				if (tmp != null) {
					pred.next = tmp.next;
				}
			} // end else
		}// end if
	}

}
 

3. 简单测试

 

package com.linkedlist;

public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		SLList list = new SLList();
		list.add("test1");
		list.add("test2");
		list.add(1);
		list.add(2);
		System.out.println(list.deleteHead());
		System.out.println(list.find(1));
		System.out.println(list.isEmpty());
		//list.delect("test2");
		System.out.println("------------------------");
		list.printAll();

	}

}

 

 

分享到:
评论

相关推荐

    逆序输出单向链表-Java 版本

    附件是逆序输出单向链表_Java 版本源码,代码首先定义了一个Node类来表示链表的节点,然后定义了一个LinkedList类来表示单链表,并提供了添加节点、打印链表和逆序链表的方法。最后,在Main类中创建了一个链表实例,...

    Java SE程序 类实现单向链表

    Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现单向链表Java SE程序 类实现...

    Java 单向链表 插入与删除节点

    这是一个单向链表,它具有插入与删除节点的功能。Entry类实现了链表的各节点。

    链表----链表构造

    ### 链表构造知识点详解 #### 一、链表基本概念 链表是一种常见的线性...以上是关于单向链表构造的基本知识点及其对应的Java实现代码。这些方法提供了对链表的基本操作能力,可以在此基础上进行更复杂的功能开发。

    单向链表源代码

    在Java编程中,单向链表通常通过定义一个节点类来实现,每个节点包含数据和指向下一个节点的引用。下面我们将深入探讨单向链表的原理、结构以及如何用Java编写源代码。 单向链表的基本结构: 单向链表由一系列节点...

    java语言模拟单向链表

    java语言模拟单向链表,JAVA数据结构

    04.单向链表以及单向链表的应用.ppt

    04.单向链表以及单向链表的应用.ppt

    单向循环链表.zip

    在这个压缩包文件“单向循环链表.zip”中,包含了两个源代码文件——LoopSingle.java和List.java,它们分别对应了单向循环链表的节点类和接口定义。 首先,我们来看`LoopSingle.java`,这个文件通常会包含一个名为`...

    单向链表的逆序-Java版本

    附件是.java 文件,实现了单链表的逆序算法,文件绿色安全,仅供学习交流使用,欢迎大家下载学习交流! 首先定义了一个ListNode类来表示链表中的节点,然后在reverseList方法中实现了链表的逆序。reverseList方法...

    java 单链表和双向链表的实现

    本话题主要探讨两种常用的数据结构——单链表和双向链表在Java中的实现,以及相关的操作,如在头部添加节点、在尾部添加节点、遍历、逆置和删除。 首先,我们来理解单链表和双向链表的基本概念。单链表是一种线性...

    数据结构 单向链表 双向链表 源程序

    在"第一、二章"的压缩文件中,很可能包含了实现单向链表和双向链表操作的C、C++、Java或Python等语言的源代码示例。这些示例程序可能涉及了初始化链表、插入新节点、删除指定节点、查找特定元素、打印链表内容等功能...

    JAVA单向链表的实现.pdf

    ### JAVA单向链表的实现知识点详解 #### 一、链表基础概念 在深入了解Java单向链表的具体实现之前,我们首先需要了解链表的基本概念。链表是一种线性数据结构,它由一系列节点组成,每个节点包含两部分:数据域和...

    64-Java单向链表的逆序1

    在Java中,单向链表可以被实现为LinkedList类,与ArrayList相比,它提供了不同的操作性能特点。ArrayList是基于数组实现的,而LinkedList则是通过节点之间的链接来存储数据,这使得在链表中插入和删除元素更加高效,...

    Java实现单向链表反转

    Java实现单向链表反转 Java实现单向链表反转是指将单向链表的顺序颠倒,例如原链表为A->B->C->D->E->F,反转后变为F->E->D->C->B->A。这种操作在实际开发中非常有用,例如在数据处理、数据分析等领域。 单向链表...

    LinkedBlockingQueue + 单向链表基本结构

    总的来说,LinkedBlockingQueue通过单向链表的数据结构,结合阻塞队列的特性,为Java并发编程提供了一种高效的解决方案。了解其内部工作原理有助于我们更好地利用这一工具,优化并发程序的性能和可维护性。在实际...

    Java版逆序单向链表的实现

    附件是Java版逆序单向链表的实现,一个.java 文件,编译后即可运行,文件绿色安全,仅供学习交流使用,欢迎大家下载学习交流! 代码首先定义了一个ListNode类来表示链表中的节点,然后在reverseList方法中实现了...

    java单向链表代码实现

    在Java编程中,单向链表是一种常见的数据结构,它由一系列节点组成,每个节点包含一个数据元素和指向下一个节点的引用。这个数据结构允许快速插入和删除操作,但不支持随机访问。下面我们将深入探讨Java中单向链表的...

    java实现的单向链表和双向链表

    本篇将深入探讨由Java实现的单向链表和双向链表。 首先,我们来理解单向链表。单向链表中的每个节点包含两部分:数据域(存储实际数据)和指针域(存储指向下一个节点的引用)。这种结构使得链表只能向前遍历,不能...

Global site tag (gtag.js) - Google Analytics