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
相关文章:
,购物网站怎么盈利呢?
巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成
建站之星如何快速更换网站模板?
如何在万网主机上快速搭建网站?
南京网站制作费用,南京远驱官方网站?
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
深圳网站制作培训,深圳哪些招聘网站比较好?
股票网站制作软件,网上股票怎么开户?
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
ppt制作免费网站有哪些,ppt模板免费下载网站?
如何快速搭建高效服务器建站系统?
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
建站主机系统SEO优化与智能配置核心关键词操作指南
建站之星如何取消后台验证码生成?
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
常州自助建站工具推荐:低成本搭建与模板选择技巧
宁波自助建站系统如何快速打造专业企业网站?
相册网站制作软件,图片上的网址怎么复制?
如何通过商城免费建站系统源码自定义网站主题?
开心动漫网站制作软件下载,十分开心动画为何停播?
如何在宝塔面板创建新站点?
宁波免费建站如何选择可靠模板与平台?
如何在橙子建站上传落地页?操作指南详解
怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?
济南网站建设制作公司,室内设计网站一般都有哪些功能?
广州美橙建站如何快速搭建多端合一网站?
小建面朝正北,A点实际方位是否存在偏差?
,柠檬视频怎样兑换vip?
如何在Golang中处理模块冲突_解决依赖版本不兼容问题
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
网站制作话术技巧,网站推广做的好怎么话术?
Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递
c# 在ASP.NET Core中管理和取消后台任务
在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?
名字制作网站免费,所有小说网站的名字?
如何确保FTP站点访问权限与数据传输安全?
红河网站制作公司,红河事业单位身份证如何上传?
魔毅自助建站系统:模板定制与SEO优化一键生成指南
创业网站制作流程,创业网站可靠吗?
c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】
Python多线程使用规范_线程安全解析【教程】
如何使用Golang安装API文档生成工具_快速生成接口文档
建站之星客服服务时间及联系方式如何?
C++如何将C风格字符串(char*)转换为std::string?(代码示例)
建站之星多图banner生成与模板自定义指南
英语简历制作免费网站推荐,如何将简历翻译成英文?
头像制作网站在线制作软件,dw网页背景图像怎么设置?
如何快速查询网站的真实建站时间?
*请认真填写需求信息,我们会在24小时内与您取得联系。