java 数据结构单链表的实现

单链表实现链表的打印及元素删除操作,链表的实现主要是next属性的定义,将一堆节点关联起来的。实现简单的链表如下:
public class LinkNode {
private int value;
private LinkNode next;
public LinkNode(int x) {
value = x;
}
public LinkNode getNext(){
return next;
}
public void setNext(LinkNode next) {
this.next = next;
}
public int getValue() {
return value;
}
}
链表操作工具类如下:
public class LinkNodeUtil {
public LinkNode deleteNode(LinkNode list,LinkNode node) {
//空链表
if(node==null||list==null||list.getNext()==null){
return list;
}
//查找node节点
LinkNode curNode = list;
LinkNode preNode = null;
LinkNode next = list.getNext();
while(curNode!=null){
if(curNode.getValue()==node.getValue()){//找到
System.out.println("找到待删除对象了。"+node.getValue());
break;
}
preNode = curNode;
curNode = next;
next = next.getNext();
}
//删除node节点
if(preNode==null){
//第一个元素删除操作直接修正list为next:curNode-next
return next;
}else{
//删除中间节点中间:preNode-curNode-next
preNode.setNext(next);
return list;
}
}
public void printListNode(LinkNode list){
LinkNode node = list;
while(node!=null){
System.out.println(node.getValue());
node = node.getNext();
}
}
public static void main(String[] args) {
LinkNode n1 = new LinkNode(1);
LinkNode n2 = new LinkNode(2);
LinkNode n3 = new LinkNode(3);
LinkNode n4 = new LinkNode(4);
n1.setNext(n2);
n2.setNext(n3);
n3.setNext(n4);
n4.setNext(null);
LinkNodeUtil s = new LinkNodeUtil();
s.printListNode(n1);
s.printListNode(s.deleteNode(n1, n3));
}
}
注意链表删除节点如果是第一个节点的话,直接将链表对象赋值给next对象并返回。链表的简单知识,记录于此。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# java
# 数据结构单链表
# 链表的实例
# Java数据结构之链表详解
# Java数据结构之单链表详解
# Java 单链表数据结构的增删改查教程
# Java数据结构之链表、栈、队列、树的实现方法示例
# Java描述数据结构学习之链表的增删改查详解
# Java数据结构之简单链表的定义与实现方法示例
# Java数据结构之双端链表原理与实现方法
# 详解java数据结构与算法之双链表设计与实现
# Java数据结构之链表(动力节点之Java学院整理)
# java 数据结构之删除链表中的元素实例代码
# JAVA 数据结构链表操作循环链表
# Java 数据结构链表操作实现代码
# Java模拟有序链表数据结构的示例
# Java模拟单链表和双端链表数据结构的实例讲解
# java数据结构之实现双向链表的示例
# java实现数据结构单链表示例(java单链表)
# Java数据结构之链表的增删查改详解
# 链表
# 第一个
# 数据结构
# 希望能
# 谢谢大家
# 于此
# 主要是
# getNext
# br
# int
# return
# getValue
# setNext
# void
# private
# pre
# nbsp
# class
# LinkNode
相关文章:
Python文件管理规范_工程实践说明【指导】
简易网站制作视频教程,使用记事本编写一个简单的网页html文件?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
建站之星logo尺寸如何设置最合适?
电商网站制作公司有哪些,1688网是什么意思?
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
招贴海报怎么做,什么是海报招贴?
北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?
如何选择建站程序?包含哪些必备功能与类型?
宝塔建站助手安装配置与建站模板使用全流程解析
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
建站之星客服服务时间及联系方式如何?
如何通过远程VPS快速搭建个人网站?
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
云南网站制作公司有哪些,云南最好的招聘网站是哪个?
建站之星2.7模板快速切换与批量管理功能操作指南
上海网站制作网站建设公司,建筑电工证网上查询系统入口?
如何在云指建站中生成FTP站点?
如何正确选择百度移动适配建站域名?
C++如何使用std::optional?(处理可选值)
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
广州建站公司哪家好?十大优质服务商推荐
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
如何制作算命网站,怎么注册算命网站?
c# 在高并发下使用反射发射(Reflection.Emit)的性能
如何快速搭建高效简练网站?
如何在橙子建站中快速调整背景颜色?
公众号网站制作网页,微信公众号怎么制作?
建站主机是否等同于虚拟主机?
无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?
如何选择靠谱的建站公司加盟品牌?
官网自助建站平台指南:在线制作、快速建站与模板选择全解析
如何通过虚拟主机快速搭建个人网站?
创业网站制作流程,创业网站可靠吗?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
公司门户网站制作流程,华为官网怎么做?
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
北京营销型网站制作公司,可以用python做一个营销推广网站吗?
高端云建站费用究竟需要多少预算?
制作网站的软件免费下载,免费制作app哪个平台好?
百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?
广州商城建站系统开发成本与周期如何控制?
建站主机空间推荐 高性价比配置与快速部署方案解析
视频网站制作教程,怎么样制作优酷网的小视频?
山东云建站价格为何差异显著?
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
如何用景安虚拟主机手机版绑定域名建站?
小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建
*请认真填写需求信息,我们会在24小时内与您取得联系。