`
Java.天道2011
  • 浏览: 9442 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

链表小结(1)

阅读更多
所谓链表,顾名思义是像链条一样的,链条是由一个一个的链结连起来的,所以在链表里也有相似的结构,在链表里存放数据是无序的,它是由一个一个的结点连起来的,而在每个结点里存放了数据,这样整个连起来就形成了链表。而链表还分为单向链表、循环链表、双向链表。下面就来简单说下单向链表。
public class LinkNode {
	//定义结点跟数据属性
	private Object obj;
	private LinkNode node;
	//重写构造器
	public LinkNode(Object obj){
		this.obj = obj;
	}
	//定义得到数据的方法
	public Object getObj() {
		return obj;
	}
	//定义写入数据的方法
	public void setObj(Object obj) {
		this.obj = obj;
	}
	//定义得到下一个结点的方法
	public LinkNode getNode() {
		return node;
	}
	//定义连接下一个结点的方法
	public void setNode(LinkNode node) {
		this.node = node;
	}
}

public class Link {
	//程序入口
	public static void main(String []args){
		//创建链表对象
		Link link = new Link();
		//调用打印数据的方法
		link.PrintLink(link.CreatLink());
	
	
	}
	//创建链表
	public LinkNode CreatLink(){
		LinkNode node = new LinkNode("结点1");
		LinkNode node1 = new LinkNode("结点2");
		LinkNode node2 = new LinkNode("结点3");
		LinkNode node3 = new LinkNode("结点4");
		node.setNode(node1);
		node1.setNode(node2);
		node2.setNode(node3);
		return node;
	}
	//打印数据
	public void PrintLink(LinkNode root){
		if(root!=null){
			Object obj = root.getObj();
			System.out.println(obj);
			LinkNode node = root.getNode();
			PrintLink(node);
		}
	}

}
分享到:
评论

相关推荐

    java链表 个人总结

    1. 插入:可以在链表的开头(头部)、结尾(尾部)或者指定位置插入元素。 2. 删除:可以删除指定元素或者指定位置的元素。 3. 遍历:通过迭代器或者节点间的引用进行遍历。 4. 查找:根据给定值查找元素,链表的...

    数据结构Java线性表顺序表与链表小结PPT学习教案.pptx

    由于元素在内存中是连续存放的,所以顺序表支持随机访问,即通过索引可以直接访问到任意位置的元素,时间复杂度为O(1)。但是,当需要插入或删除元素时,如果位置不是最后,就需要移动大量元素,时间复杂度为O(n)。...

    c语言链表数组-c语言手写单链表实现,数组和链表结构对比小结和个人理解 数组和链表.pdf

    1. 内存申请:链表可以灵活地申请和释放内存,而数组需要连续的内存空间。 2. 查询速度:数组可以快速查询元素,而链表的查询速度相对较慢。 3. 插入删除:链表可以快速插入和删除元素,而数组需要重新分配内存。 ...

    两个有序链表序列的合并_C语言_

    解决这个问题的关键在于比较两个链表的头节点,并将较小的节点添加到结果链表中。然后,移动指向较小节点的指针,继续比较下一个节点,直到其中一个链表为空。此时,将非空链表的所有剩余节点添加到结果链表中。 ...

    数据结构源代码之双向链表

    #### 小结 本文档介绍了双向链表的实现方法及其基本操作的C语言实现。双向链表相比于单链表具有更高的灵活性和效率,尤其是在需要频繁地从前向后或从后向前遍历链表的情况下。通过这些基本操作,可以实现对双向链表...

    数据结构:图解链表,用链表实现栈的Pop和Push(c语言版)

    #### 小结 通过以上分析,我们可以看到使用链表实现栈的Pop和Push操作是相对直观和简单的。在实现过程中需要注意的关键点包括: 1. 确保栈顶指针始终指向最新的栈顶节点。 2. 在进行出栈操作时,正确处理空栈的情况...

    图书管理系统(C语言链表实现)含实验报告

    大学期间用C语言链表实现的一个图书管理系统,主要功能有 a. 设备申请。由专业人员填写“申请表”送交领导批准购买。 b. 设备入库。新设备购入后要立即进行设备登记(包括类别、设备名、型号、规格、单价、数量、...

    数据结构实验报告-利用链表实现简易学生信息管理系统(C语言)

    主要内容包括实验目的、实验环境配置、具体实现的源代码、实验运行截图以及最后的小结。以下是针对该实验报告中的各个知识点进行的详细解析。 #### 实验目的 1. **理解链表的基本概念**:链表是一种常见的线性表...

    Linux 内核通用链表学习小结

    Linux内核通用链表是操作系统内核中一种高效的数据结构,用于存储和管理动态数据集。本文将深入探讨Linux内核通用链表的原理、结构、宏定义以及使用方法。 首先,内核提供的通用链表库是双向链表,这意味着每个链表...

    数据结构课程设计二叉树采用二叉链表作为存储结构

    数据结构课程设计之二叉树采用二叉...1 2 3 4 5 6 7 8 9 10 ``` 九、结论 通过本设计,我们成功地实现了一个二叉树的存储结构,并按层次顺序遍历了二叉树。我们的设计和实现对数据结构课程设计具有重要的参考价值。

    数据结构链表实验源代码

    ### 小结 本代码示例不仅涵盖了链表的基本定义与创建,还提供了更高级的操作,如集合运算等。这些操作在实际编程中非常有用,可以帮助我们更好地理解和应用链表这一数据结构。通过学习这段代码,读者可以进一步掌握...

    链表的基本操作链表的基本操作

    ### 小结 通过本实验,学生不仅能够深入了解链表这一重要数据结构的特点,还能掌握如何利用 C 语言进行高效的数据处理。此外,通过实际编程操作,学生可以进一步提升自己的编程能力和解决问题的能力。这对于后续...

    c语言数据结构的小结

    "C语言数据结构的小结"是一个针对初学者的指南,旨在帮助他们理解并掌握C语言中的数据结构概念。数据结构是计算机科学的核心组成部分,它涉及到如何有效地组织和管理数据,以便于高效地访问和操作。 首先,我们要...

    Python实现队列的方法示例小结【数组,链表】

    - 使用链表实现队列时,入队和出队操作的时间复杂度均为 O(1),因此在处理大量数据时表现更优。 2. **内存消耗**: - 链表实现通常比列表实现占用更多的内存空间,因为链表需要额外的空间存储指针。 3. **异常...

    数据结构Java双向链表PPT学习教案.pptx

    ### 小结 理解并掌握双向链表的设计和实现,以及如何在实际项目中运用,对于提升编程能力尤其是处理动态数据集合的问题至关重要。双向链表的灵活性使得它在需要频繁进行插入和删除操作的场景中特别有用,而其双指针...

    探讨:将两个链表非降序合并为一个链表并依然有序的实现方法

    在每次迭代中,比较`list1`和`list2`的当前节点,选择较小的一个插入到`list3`的末尾,然后更新相应的指针。当其中一个链表遍历完成后,将另一个链表的所有剩余节点追加到`list3`。 这个实现确保了合并后的链表仍然...

    C语言+链表实现图书信息管理系统+C语言期末结课作业

    运用链表实现图书信息的管理,主要包含图书信息的增删改查,以及将链表中存储的图书信息保存为txt文件,属于C语言入门级练手小项目,可以作为C语言结课大作业的参考。比较适合刚学C语言编程的大学生。该源码在VS2017...

    c语言程序设计报告链表实现学生信息管理.docx

    五、实践小结 通过这次设计,学生不仅巩固了C语言的基础知识,如函数、循环,还初次接触并理解了链表这一重要数据结构。同时,体验了实际编程过程中的问题解决和团队协作,认识到持续练习和调试的重要性。 六、源...

    java集合小结

    ### Java集合小结 #### 一、集合的概念与重要性 集合是Java编程语言中用于存储、管理和操作数据的一种重要工具。它提供了多种数据结构来适应不同的应用场景,从而有效地提高程序开发效率。从数据结构的角度来看,...

Global site tag (gtag.js) - Google Analytics