单链表的增删改查

概述链表:通过一组任意的存储单元来存储线性表的数据,这组存储单元可以是连续或不连续的。每个节点包括:1)数据域(当前节点的数值)2)指针域(存储下一个节点的位置)各个节点通过指针域串起来,像一条链子,所以叫“链表”。单链表:每个节点只有一个指向直接后继节点的指针,所以叫“单链表”。链表是一种常见的基础数据结构,它是一种线性表,但在内存中它并不是顺序存储的,它是以链式进行存储的,每一个...
摘要由CSDN通过智能技术生成

概述
链表:通过一组任意的存储单元来存储线性表的数据,这组存储单元可以是连续或不连续的。
每个节点包括:
1)数据域(当前节点的数值)
2)指针域(存储下一个节点的位置)
各个节点通过指针域串起来,像一条链子,所以叫“链表”。
单链表:每个节点只有一个指向直接后继节点的指针,所以叫“单链表”。

链表是一种常见的基础数据结构,它是一种线性表,但在内存中它并不是顺序存储的,它是以链式进行存储的,每一个节点里存放的是下一个节点的“指针”。在Java中的数据分为引用数据类型和基础数据类型,在Java中不存在指针的概念,但是对于链表而言的指针,指的就是引用数据类型的地址。

链表和数组都是线性的数据结构,对于数组而言其长度是固定的,由于在内存中其是连续的,因此更适合做查找与遍历,而链表在内存中是并不是顺序存储的,但是由于其是通过“指针”构成的,因此在插入、删除时比较数组更为的方便。

下面的代码通过内部类并结合递归的方式来实现了一个简单的用Java语言描述的链表的数据结构。

链表数据结构的定义

首先来看一下,链表数据结构的定义,代码如下:

class NodeManager {
 private Node root; // 根节点
 private int currentIndex = 0; // 节点的序号,每次操作从0开始
 public void add(int data) {}
 public void delNode(int data) {}
 public void print() {}
 public boolean findNode(int data) {}
 public boolean updateNode(int oldData, int newData) {}
 // 向索引之前插入
 public void insert(int index, int data) {}
 // 谁拥有数据,谁提供方法
 class Node {
 private int data;
 private Node next; // 把当前类型作为属性
  public Node(int data) {
  this.data = data;
 }
  
 public void setData(int data) {
  this.data = data;
 }
  
 public int getData() {
  return data;
 }
  
 // 添加节点
 public void addNode
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值