`
wuanjunbaiqi
  • 浏览: 14024 次
  • 性别: Icon_minigender_1
  • 来自: 赤峰
最近访客 更多访客>>
社区版块
存档分类
最新评论

链表的总结

 
阅读更多

第一:链表是和队列有些相同,都是方便查找数据的。但是链表没有一个索引,在创建链表的时候我们的思想是:首先我们有一个类,但是这个仅仅是一个类,我们需要一连串的,于是我们就需要用这个类来生成对象,不断的向下生成。但是链表里必须存在着数据,我们得得到数据。private Object userNode;
 private LinkNode child;
 private LinkNode parent;
 
 public  LinkNode(Object userNode){
  this.userNode=userNode;
 }
 public Object getUserNode() {
  return userNode;
 }
 public void setUserNode(Object userNode) {
  this.userNode = userNode;
 }
 public LinkNode getChild() {
  return child;
 }
 public void setChild(LinkNode child) {
  this.child = child;
 }
 public LinkNode getParent() {
  return parent;
 }
 public void setParent(LinkNode parent) {
  this.parent = parent;
 }
 其实我们大可不必要去这样,我们也可以将私有的设置为共有的就可以啊。这样我们就可以生成很多相同的类,由上到下生成的一个链表。每一个节点有父节点,子节点,每一个节点都有自己的数据,这是生成链表的思想。

第二:当我们生成链表时我们就存在几个问题:怎样向链表里添加新的,怎样删除指定位置的链表这里的关键问题是我们怎样得到当前的节点:

LinkNode node = front;
   while (num != index) {
    node = node.getChild();
    num++;//不断取出比较撒
   }这个关键是:我们由上到下一直取到当前的节点,

1:向指定位置添加节点:(1)取到当前的节点,设置一个新的节点,在取出父节点,子节点,

                                   (2)设置新的引用关系:新的节点的父节点为原来的父节点,原来父节点的子节点为新的节点,原来的节点父节点为新节点,原来的子节点不变。

事例代码:
   LinkNode newnode = new LinkNode(obj);
   // 得到当前索引位置的节点
   LinkNode node = this.getLinkNode(index)

  LinkNode fNode = node.getParent();
    // 设置新的引用关系
    fNode.setChild(newnode);
    newnode.setParent(fNode);

    newnode.setChild(node);
    node.setParent(newnode);

如此我们就插入了新的节点,至于删除节点则是相同的思路;

分享到:
评论

相关推荐

    数组和链表总结 数组和链表.txt

    数组和链表总结 数组和链表.txt

    c语言链表总结

    链表是学习数据结构的大门,在微软等大公司招聘c\c++技术人员的时候有3个会必然出现 的东西,指针、链表、二叉树!

    C语言中链表的操作,总结到位!

    ### C语言中链表的基本概念及操作 #### 一、链表的概念 链表是一种常见的线性数据结构,与数组不同的是,链表中的元素不是连续存储的,而是通过节点之间的链接来组织数据。每个节点通常包含两部分:数据域(用于...

    实用链表问题总结

    链表总结,c语言版本,巩固基础知识,适用于求职面试,来自互联网,版权归著者

    《代码随想录》链表算法详解及实现

    最后对链表总结,归纳梳理了一系列关键的概念、技能和实用解题手段。面向的对象主要是具有一定基础的编程学习者和技术求职人员,适用于面试准备、技术提升等场合。学习者能够从中获得扎实的基础理解和高效解决复杂...

    java链表 个人总结

    Java链表是编程中一种基础且重要的数据结构,它在许多场景下有着广泛的应用。本文将结合个人学习心得,深入探讨Java链表的核心概念、实现方式以及与其他编程语言的互通性。 首先,链表是一种线性数据结构,与数组...

    链表面试题目总结 全

    在计算机科学领域,链表是一种基本且非常重要的数据结构,它是面试中的常见考察点。链表通常由节点组成,每个节点包含数据部分和指向下一个节点的指针,最后一个节点指向null。链表分为单链表、双链表、循环链表等...

    万能链表(总结)

    #### 五、总结 本篇文章详细介绍了基于C语言实现的一个功能丰富的链表模型。通过上述介绍,我们可以看到链表作为一种灵活的数据结构,能够支持多种操作,包括但不限于节点的增删改查等。在实际编程过程中,合理利用...

    链表面试题总结

    根据提供的文件信息,这里将对链表相关的面试题目进行总结,并深入探讨其中涉及的数据结构与算法知识点。 ### 链表基础知识回顾 在讨论具体的面试题之前,我们首先需要了解链表的基本概念及其操作方法。链表是一种...

    链表题目总结1

    【链表题目总结1】 链表作为数据结构中的一种,其操作经常出现在编程面试和算法题目中。这里我们总结了几个关于链表的典型问题及其解题方法。 1. **返回倒数第k个节点** (剑指offer 22) - **方法一**:两次遍历法...

    循环链表和双向链表

    总结来说,循环链表和双向链表是链表结构的两种不同类型,它们在数据结构与算法领域中占据着重要地位。通过理解这些链表结构的基本概念和操作方法,可以在实际的编程和应用开发中处理更复杂的数据关系和操作逻辑。

    静态链表和动态链表详细讲解教程

    静态链表和动态链表详细讲解教程 本资源讲解了链表的基本概念和实现...本资源总结了链表的基本概念和实现方式,着重介绍了静态链表和动态链表的区别和应用场景。链表是一种灵活和高效的数据结构,广泛应用于各种领域。

    链表

    ### 总结 本文详细介绍了单向链表的建立、显示、节点获取、插入和删除等关键操作。链表作为一种灵活的数据结构,其动态性使得在不连续的内存空间中也能高效地存储和管理数据,特别适合于数据量不确定或者频繁变化的...

    城市链表课程设计

    城市链表是一种特殊的数据结构,通常用于模拟城市之间的道路连接,每个节点代表一个城市,而节点间的连接则代表城市间的交通线路。在这个“城市链表课程设计”中,你将有机会深入理解和实践这种数据结构的实现及其...

    链表实现多级菜单

    总结来说,链表是实现单片机多级菜单的理想工具,它提供了灵活的数据结构,使得菜单设计和操作变得更加便捷。通过理解链表的工作原理以及如何在多级菜单系统中运用它,开发者可以创建出高效、易维护的单片机应用程序...

    双链表-循环链表-静态链表.pdf

    总结来说,双链表提供了双向遍历的能力,循环链表在遍历和某些特定操作上具有优势,而静态链表则适用于数据元素数量固定且不支持指针的环境。理解和掌握这些链表类型及其操作,对于理解和编写高效的数据结构算法至关...

    单向链表(一) 结构体、创建链表、遍历链表

    总结来说,单向链表是一种灵活的数据结构,其节点通过指针相互连接。通过定义结构体,我们可以创建链表节点,然后使用插入函数构建链表。遍历链表则允许我们访问并处理链表中的所有元素。了解和掌握这些基础知识是...

    链表逆置方法总结c语言编写

    链表作为一种基础且重要的数据结构,在计算机科学中广泛应用于各种算法和程序设计中。逆置链表是一项常见的操作,它可以改变链表元素的顺序,使得原本的最后一个元素变为第一个,以此类推。本文将深入探讨如何用...

    C#实现单向链表C# .net 链表 单向链表

    #### 六、总结 通过上述实现,我们已经成功地创建了一个单向链表,并实现了基本的操作。这些操作不仅有助于理解链表的工作原理,还可以作为实际项目的基础。需要注意的是,这里提供的代码仅作为一个简单的示例,并...

    C语言中关于链表

    C语言中关于链表的总结内容,内附代码例题,详细的有条理的讲解链表内容

Global site tag (gtag.js) - Google Analytics