JAVA基础--单链表的添加||在火车车厢的头部、中间、尾部添加节点

本文介绍了单链表的数据结构,强调了其与数组的主要区别,并探讨了在单链表头部、中间、尾部添加节点的问题。文章指出,由于单链表的单向性,插入操作需要特别注意前驱节点的处理。文中提供了添加节点的代码示例,并以火车车厢为比喻解释了节点间的连接方式。
摘要由CSDN通过智能技术生成

单链表的结构


一种链式存取的数据结构,单链表中的数据是以结点的形式存在,每一个结点是由数据元素和下一个结点的存储的位置组成。单链表与数组相比的最大差别是:单链表的数据元素存放在内存空间的地址是不连续的,而数组的数据元素存放的地址在内存空间中是连续的,这也是为什么根据索引无法像数组那样直接就能查询到数据元素。

首先,所以线性表都有索引,例如:数组、链表、栈、队列、字符串。

单链表问题中大多都需要考虑如何找前驱节点。

由于单链表是单向的,只能从前向后查找 不能从后向前查找。

当前火车中车厢的个数(实际存储的元素个数) private int size;
当前火车的第一个结点private Node head;

在插入一个新的节点时,不仅要关心链表是否为空、是否有前驱节点、判断合法性、判断是否需要返回值。

例如、在头部添加节点时,需要考虑元素是否为空,当size == 0 此时 head = node;

当确定至少含有一个元素时,head应指向新节点node

  //使用addfirst向火车中插入元素
  // 一个节点都没有 -> 新插入元素就是第一个
   if (size == 0){
   Node node = new Node(data);
   head = node;
   size ++;
   }else{
  //此时火车车厢中有节点
   Node node = new Node(data);
   node.next = head;
   head = node;
   size ++;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值