Java 单向链表实现(增,删,查)

基于Java实现单链表的增删改查 基于Java实现单链表的增删改查一、新建学生节点类二、新建一个操作链表的类,实现增删改查方法三、新建操作链表类的实现类实现其增删改查功能 一、新建学生节点类 Stu_Node节点包含: 学号:int num; 姓名:String name; 性别:String gender; 下一个节点:Stu_Node next; 为了便于打印节点内容需要重写toString方法 class Stu_Node{ int num; String name; String gender; 阅读详情

链表(Linked list)是一种线性表,是一种常见的基础数据结构。

概念不在赘述。

1.创建一个链表对象:

public class ListNode {
    int val; //节点数据
    ListNode next; //下一个节点的引用地址
    ListNode(){}
    ListNode(int val){
        this.val=val;
    }
    ListNode(int val,ListNode next){
        this.val = val;
        this.next = next;
    }
}

2.链表插入(头插法,尾插法,中间插法) 和 遍历

public class ListNodeServiceImpl  {

    //定义一个头结点
    private ListNode head;
    /**
     *增加节点,链尾插入
     */
    public ListNode addListNode(int val) {
        ListNode node = new ListNode(val);//创建一个新的节点
            if (head == null) {
                head = node;//头结点为null,新节点赋值给头结点
                return node;
            }
            ListNode temp = head;//头结点赋值给临时节点。
            while (temp.next != null) {
                temp = temp.next;
            }
            temp.next = node;
            return node;
    }

    /**
     * 打印所有节点
     */
    public void printNodeList() {
        ListNode temp = head; 
        while (temp != null) {
            System.out.println("节点数据:" + temp.val);
            temp = temp.next;
        }
    }


    public static void main(String[] args) {
        ListNodeServiceImpl listNodeService = new ListNodeServiceImpl();
        listNodeService.addListNode(1);
        listNodeService.addListNode(2);
        listNodeService.addListNode(3);
        listNodeService.addListNode(14);
        listNodeService.printNodeList();
    }


}

注意:我当时想为什么不直接用head,干嘛还要引入临时节点呐?

 如果直接用head ,在遍历或者next时候,前面节点就丢失了。当赋值给temp时候,让temp代替head去next下一个节点,head不变。这样head节点不会丢失。(可能比较笨,记录下。当时没想明白(#^.^#))

单向链表的创建和操作 单向链表的创建和基本操作 阅读详情

相关推荐

单细胞转录组数据质控实战:如何用Seurat精准过滤低质量细胞(附完整代码)

本文详细介绍了使用Seurat进行单细胞转录组数据质控的实战方法,包括基因检出数、分子计数和线粒体基因比例等关键指标的解读与可视化技巧。通过动态阈值策略和高级质控技巧(如双细胞检测和红细胞过滤),帮助研究者精准过滤低质量细胞,提升数据分析可靠性。附完整代码示例,适合生物信息学研究人员参考实践。

ii567的博客 825

【Java单链表】指定位置插入数据

利用自定义单链表,创建链表对象时创建结点对象头指针,即value域为默认初值,next域指向链表存储的第一个有意义结点。判断插入位置是否合理。[ 0 , 链表长度]需要用到的自定义链表输出方法。

m0_75260099的博客 685

从大疆智图到Cesium:3D Tiles模型加载与Web三维场景构建实战

本文详细介绍了如何利用大疆智图生成3D Tiles数据,并通过Cesium在Web端实现高效加载与三维场景构建。从大疆智图参数设置到Cesium环境配置,再到3D Tiles性能调优与高级功能实现,提供了一套完整的实战指南,帮助开发者快速掌握3D Tiles模型加载与Web三维场景构建技术。

weixin_30520015的博客 1287

Java开发-Java中链表的实现

链表是一种根据元素节点逻辑关系排列起来的一种数据结构。利用链表可以保存多个数据,这一点类似于数组的概念,但是数组本身有一个缺点——数组的长度固定,不可改变。在长度固定的情况下首选的肯定是数组,但是在实际的开发中往往要保存的内容是不确定的,此时就可以利用链表结构来代替数组的使用。定义链表的逻辑代码如下: class Link { // 链表

_彼岸雨敲窗_的博客 1109

QMT量化交易实战:如何用通达信预警数据自动买卖股票(附完整Python代码)

本文详细介绍了如何利用QMT平台对接通达信预警数据,构建自动化股票交易系统。通过完整的Python代码示例,展示了从数据获取到订单执行的全流程,帮助投资者实现量化交易策略的自动化执行,提升交易效率。

weixin_29234423的博客 212

借助OSS搭建在线教育视频课程分享网站-阿里云的课程体验和记录

阿里云的《搭建在线教育网站》免费课程里面讲的啥,我点进去看了看

LegendNoTitle的博客 3023

链表概念、用java实现链表创建及增删改查操作

链表什么是链表?链表的操作合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 什么是链表? 链表 [Linked List]:链表是由一组不必相连(可以连续也可以不连续)的内存结构(节点),按特定的顺序链接在一起的抽象数据类型。 链表是离散存

weixin_47098642的博客 430

铁路场景雷达点云目标识别与追踪系统

本文介绍了一种基于毫米波雷达的铁路货运车站安全监控系统。该系统采用分布式架构,通过多个毫米波雷达节点采集点云数据,经过坐标转换、多雷达融合等处理后,利用机器学习算法实现列车、行人等目标的实时识别与追踪。系统包含数据采集层、处理层、目标识别层、追踪层、预警决策层和可视化层,能够克服传统视频监控受环境影响大的缺点,实现全天候可靠监测。文中详细展示了雷达数据解析和点云预处理的代码实现,包括坐标转换、数据格式解析和体素网格滤波等关键技术。该系统可有效预警铁路场景下的碰撞风险,提升货运车站的安全管理水平。

huanghm88的专栏 125

Java实现对链表进行增删改查的操作

Java对链表的增删改查

weixin_50220593的博客 1774

i.MX6ULL系统移植 | 使用busybox制作根文件系统(1.29.0)

一. 下载BusyBox BusyBox是一个继承了大量Linux命令核工具的软件,像常用的ls、cp、mv、ifconfig等命令。一般下载BusyBox的源码,然后配置Busybox,选择自己想要的功能,最后编译即可。 BusyBox在官方可以直接下载:https://www.busybox.net/。目前最新是1.35.0,这里我使用1.29.0版本。 axel https://www.busybox.net/downloads/busybox-1.29.0.tar.bz2 下载之后解压: tar

Mculover666的博客(嵌入式) 1146

YOLOv5入门实践(2)——手把手教你利用labelimg标注数据集

YOLOv5入门实践第2步,手把手教你使用labelimg标注数据集

路人贾的博客 1万+

初学者用Java实现单向链表增、删、查功能

初学者用Java实现单向链表增、删、查功能 前言: 自学动力节点的Java视频,作业是用Java模拟单向链表的增、删、查功能; package Day01.Collection; /* 用Java语言模拟单向链表 */ public class Linked { // 节点 Entry entry; Entry current; int size = 0; ...

jeremy_shi的博客 190

五种音频器件综合对比——《器件手册--音频器件》

音频器件当在蜂鸣片的两片电极之间接通交流音频信号时,蜂鸣片会根据信号的大小和频率发生振动,从而产生相应的声音。结构简单、造价低廉。广泛应用于玩具、电子表、电子仪器、电子钟表、定时器等电子电器方面。蜂鸣器是一种一体化结构的电子讯响器,采用直流电源供电,广泛应用于各种电子产品中作发声器件有源蜂鸣器:内部带震荡源,通电即发声,程序控制方便。无源蜂鸣器:内部不带震荡源,需用方波驱动,声音频率可控,价格相对便宜。计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品。

XU157303764的博客 1537

java实现单向链表的增、删、改、查

单向链表 作者:vashon package com.ywx.link; /** * 单向链表 * @author vashon * */ public class LinkTest { public static void main(String[] args) { Link l=new Link(); l.addNode("A"); l.addNode("B");

青衫烟雨客的专栏 4098

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

用Java实现单向链表

用Java实现单向链表说明 实现的链表为最简单的单向链表,只作为复习链表的知识 链表的存储的数据为String类型,同时也可以修改为其它类型或自定义类型,但是自定义要实现 compare()方法,用来链表实现类里面的比较用。 代码参考自李兴华老师的Java视频,结构使用内部类的方式来实现, 链表实现的方法主要有:增、删、查、获取链表元素个数、将链表转为数组、对链表的一些判断

Veir的专栏 732

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

java链表之--单向链表的增删改查

结果:原链表: A-->B-->C-->D 查找节点:B 查找结果:找到! 删除节点:B 删除节点后的链表: A-->C-->D

basycai的博客 1007

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

数据结构(Java版)第六期:LinkedList与链表(一)

与顺序表不同的是,链表的地址在物理上不连续,但在逻辑上是连续的。我们先来实现头插和尾插。但这种写法也有致命的缺点,如果说这个方法有返回值呢,head遍历完我们的链表之后,head引用变为了null,返回的值也会成一个null,如果我们再用ListCode创建一个cur变量,head引用保持不动,把head的引用赋值给cur,再让cur去遍历链表。接下来我们要通过代码来实现链表,我们就可以定义一个MySingleList类,链表当中有很多的节点,基于面向对象的思想,我们可以使用内部类来定义我们的节点。

2401_85198927的博客 8303

数据结构-单向链表-Java版

单向链表(Java实现) 什么是链表? 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应

程序员的博客 232

单向链表的实现

通过Java和Golang两种语言实现单向链表,此处的队列的满足的要求有:实现对链表节点的增、删、改、查操作;存放的类型自定义,Java通过泛型实现,Golang暂定用interface{}。

一步就一个脚印 266

单向链表的增删改查

单向链表的增删改查

让键盘飞的博客 488

数据结构单向链表的实现

数据结构单向链表的实现 理论基础 优点 链表 和 一维数组是 对比的产品。 链表可以理解为 牺牲掉一维数组可以直接通过指定下标访问这个功能。增加动态扩容这个功能。 非常试用那些不知道数组长度该给多少的情况。 jdk原生的支持 在java.util.LinkedList 下面具有支持。可以直接使用。 代码实现 节点实体类 package linkTable; public class Node<V> { private Node<V> next; privat

长生以及花的博客 195

链表-java数据结构

链表(增,删,改,查)-java数据结构 ####增: 单向链表且不考虑排序 创建的单向链表设有一个头节点,添加数据只需将class的next指向新增的对象。 暂时没有考虑到排序,难点在添加时需要遍历找到链表最末尾再添加即可。 链表里的单元是HeroNode对象,此处先创建一个HeroNode类 class HeroNode{ public int no; public String name; public String nickName;//绰号 public HeroNode next;

weixin_54147055的博客 153

Java数据结构之单向链表

Java数据结构之单向链表链表介绍单链表的增删改查查增直接插入按顺序号插入删改 链表介绍 单向链表(单链表)是链表的一种,其特点是链表的链接方向是单向的,对链表的访问要通过顺序读取从头部开始。 在内存中的存储方式如下图 逻辑结构则如下图 单链表的增删改查 用带head的单链表举例说明单链表的增删改查,首先创建一个Node类,用于创建节点 class Node{ private int no; private String data; private Node next; public Nod

qq_43596946的博客 234

数据结构与算法:单向带头节点链表的增删改查和链表反向输出

链表的基本特性 1.链表是一种链式结构 2.链表在逻辑上是有序的 3.链表在实际的内存中不一定是连续的 4.链表有带头结点和不带头结点的两种实现 本文主要讲解单向带头结点的链表增删改查操作 链表的逻辑结构图 链表的内存示意图 代码实现 如果代码不太好理解,可以自己画一下流程图 比如顺序插入时 package com.structure.linked; /** * @author zzq * @Date 2021-07-20 9:04 */ public class SingleLinkedLi

梦里花落知多少的博客 239
上一篇: 为什么能在常数时间( O(1) )内访问数组中任何元素?
下一篇: Java概述
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值