Java实现单链表

本文介绍了单链表的基本概念及其实现方式,包括定义单链表接口、节点接口,以及节点类和单链表类的具体实现。重点讲解了单链表的插入和删除操作,并给出了具体的实现代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.定义两个接口
定义线性表的接口:
和顺序表接口一样
插入,删除,获取某个元素等一些基本操作

定义单链表节点的接口:
获取节点数据域
设置节点数据域
2.单链表节点类
两个属性
数据域element
指针域next
3.单链表类的实现
插入操作
将数据元素e插入到object之后
插入前
obj节点 m节点 (obj的下一个节点)
插入后
obj节点 q 节点 m节点 (obj的下一个节点)

public boolean insertBefore(Object obj,Object e){
SLNode p=head.getNext();//获取头节点的下一个节点
while(p!=null){         //头节点的下一个节点有节点
if(p.getData().equals(obj)){//找到元素obj的位置
SLNode q=new SLNode(e,p.getNext);//新建一个节点,data=e,next指向p(即原来obj)的next(m节点)
p.setNext=q;//重新设置p(即obj)的next为新插入的节点q
}
}

删除操作
删除单链表中顺序号为i的元素

public Object delete(int i){
SLNode p=getPreNode(i);//获取序号为i的元素的前驱节点
Object obj=p.getNext().getData();//获取序号为i元素对应的data
p.setNext(p.getNext().getNext());//将元素i之前的元素直接指向元素i的下一个元素
size--;
return obj;//返回被删除的元素i

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-乾坤-

????????????????????????

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值