Java模拟双向链表,增删操作

news2025/1/11 9:57:34
public static void main(String[] args) {
        ArrayList arrayList = new ArrayList();
        Node zhangsan = new Node("张三");
        Node lisi = new Node("李四");
        Node wanger = new Node("王二");

        //模拟双向链表,将表中元素依次连接起来
        zhangsan.next = lisi;
        lisi.next = wanger;
        wanger.pre = lisi;
        lisi.pre = zhangsan;

        //加入头指针和尾指针
        Node first = zhangsan;
        Node last = wanger;

        //将元素加入到arryList中
        arrayList.add(zhangsan);
        arrayList.add(lisi);
        arrayList.add(wanger);
        System.out.println(arrayList);

        //正向打印输出
        while (true){
            if(first==null){
                break;
            }
            System.out.println(first);
            first = first.next;
        }

        System.out.println("===========");
        //从尾指针打印输出
        while (true){
            if(last==null){
                break;
            }
            System.out.println(last);
            last = last.pre;
        }

        //添加元素麻子,添加在李四后面
        Node mazi = new Node("麻子");
        lisi.next = mazi;
        mazi.next = wanger;
        wanger.pre = mazi;
        mazi.pre = lisi;

        //此时first已经指向最后一个元素,因此需要重置first、
        first = zhangsan;
        //正向打印输出
        System.out.println("=======插入后的元素=======");
        while (true){
            if(first==null){
                break;
            }
            System.out.println(first);
            first = first.next;
        }
    }
}

class Node {
    public Object item;
    public Node next;
    public Node pre;

    public Node(Object name) {
        this.item = name;
    }

    @Override
    public String toString() {
        return "Node name=" + item;
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1105543.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【已解决】pyinstaller 将程序打包成 exe 文件后,无法保存视频或者保存的视频为空文件

这里写自定义目录标题 问题描述解决方法方法一方法二 参考 问题描述 使用pyinstaller将python程序打包为exe文件,其中包含保存视频的代码。直接运行脚本时,程序能够正确的保存视频。但是通过pyinstaller打包成exe文件后,exe文件无法保存视频…

EthernetIP 转MODBUS RTU协议网关连接FANUC机器人作为EthernetIP通信从站

远创智控YC-EIPM-RTU网关产品是一款高效的数据采集工具,它可以通过各种数据接口与工业领域的仪表、PLC、计量设备等产品连接,实时采集这些设备中的运行数据、状态数据等信息。采集到的数据经过整合和运算等操作后,可以被传输到其他设备或者云…

@Slf4j打印异常信息打印出堆栈信息

Spring Boot项目中的e.printStackTrace()打印的堆栈信息通常不会自动记录到日志中。这是因为e.printStackTrace()是将异常信息打印到标准错误输出流(System.err)上,而不是记录到应用程序的日志文件中。 如何使用:Slf4j打印异常信…

【金TECH频道】汇聚多元化超级算力,看见更好的“源启”

越来越多的金融机构开始利用大数据和AI技术,提升信贷业务的效率,利用隐私计算打造开放式金融,让客户随时随地获得金融服务;气象领域,高精度计算让我们能准确地预测恶劣的天气,医疗大数据让部分癌症的治愈成…

如何修改运行中的docker容器的端口映射

一、必须先关闭docker服务 systemctl stop docker二、修改容器的hostconfig.json 文件 路径:vim /var/lib/docker/containers/容器id/hostconfig.json 修改 PortBindings 属性,如下图: 然后保存 三、修改config.v2.json 文件 路径&#…

加拿大AI医疗技术公司【FluidAI】完成1500万美元融资

来源:猛兽财经 作者:猛兽财经 猛兽财经获悉,总部位于加拿大基奇纳的AI医疗技术公司【FluidAI】今日宣布已完成1500万美元融资。 本轮融资由SOSV和Graphene Ventures领投,参与方包括Boutique Venture Partners、Threshold Impact、…

Mybatis执行器BatchExecutor、ReuseExecutor、SimpleExecutor介绍

一、关系 这里说下Executor接口和他的子类之间的关系 //最顶层的接口 public interface Executor {} //接着是基础BaseExecutor public abstract class BaseExecutor implements Executor {}BaseExecutor有三个实现类BatchExecutor、ReuseExecutor、SimpleExecutor是并列关系…

Android攻城狮学鸿蒙-Tab

Entry Component struct TabPage {State message: string Hello World;private controler: TabsController new TabsController();build() {Column() {Tabs({ barPosition: BarPosition.Start, controller: this.controler }) {TabContent() {Column() {Text(哈哈哈哈).fontS…

怎么通过SaleSmartly优化Telegram营销

社交媒体的发展趋势一直是出海企业的“风向标”。截止至2023年6月,Telegram已成为除了WhatsApp之外全球苹果应用商店中用户下载量最多的社交网络应用,这个新兴的社媒平台正在逐渐扩大它的影响力。Telegram的崛起也意味着出现了新的商机,要怎么…

vue3实现在element Dialog 对话框中预览pdf文件

最近有一个需求就是点击按钮在弹框中去预览pdf文件,于是发现了一个HTML中比较重要的标签:embed,前面说的需求就可以用这个标签来实现,一起来学习一下吧。 embed标签是HTML中的一个非常重要的标签,它可以在你的网页上插…

CPU乱序执行

一、为什么CPU要乱序执行? 首先我们要明白一点,不是cpu真的乱序执行,而是为了提交执行效率,但这个所谓的乱序执行的前提下是有依据的,在没有互相依赖的代码行里才有可能产生这种乱序执行的现象。 1、有可能产生乱序执…

员工考勤统计表怎么做?

员工考勤统计表怎么做? 总结了下题主的需求—— 简单的考勤统计基础报表生成能自动打通对接钉钉考勤数据 这些需求其实都是最基本的考勤管理需求,最难的在于,如何能将钉钉考勤数据自动同步过来,如果能做到这点至少能提升60%的工…

ssm+vue基本微信小程序的今日菜谱系统

项目介绍 谈到外出就餐,我们除了怕排队,也怕这家餐厅的服务员不够用,没人为我们点餐,那么一餐饭排队一小时,点餐恐怕也要花个半小时,这样不仅给消费者的用餐体验大打折扣同时也给商家的口碑造成了严重负面…

2023年中国彩色滤光片竞争格局、市场规模及行业技术趋势分析[图]

彩色滤光片指实现液晶彩色显示的重要组件,该膜片可使经液晶控制的光线被过滤为红、蓝、绿三种基本色素点阵,并最终实现彩色显示画面的显示,彩色滤光片与LCD面板为一对一对应关系,即大尺寸彩色滤光片用于生产大尺寸LCD面板&#xf…

面试算法29:排序的循环链表

问题 在一个循环链表中节点的值递增排序,请设计一个算法在该循环链表中插入节点,并保证插入节点之后的循环链表仍然是排序的。 分析 首先分析在排序的循环链表中插入节点的规律。当在图4.15(a)的链表中插入值为4的节点时&…

倒计时 2 天!聚焦 Arm 性能提升,助力龙蜥生态落地应用

「龙蜥社区“走进系列”MeetUp」是由龙蜥社区与生态合作伙伴联合主办的系列月度活动,每期走进一家企业,聚焦龙蜥社区和合作伙伴的技术、产品和创新动态,展示硬核技术,共建繁荣生态。 本次龙蜥社区走进Arm MeetUp 将于 10 月 20 日…

大模型相关基础(基于李沐)

InstructGPT 介绍 ChatGPT用到的技术和InstructGPT一样的技术,区别是InstructGPT是在GPT3上微调,ChatGPT是在GPT3.5上微调。 InstructGPT论文发表在2022年3月4号,标题是《训练语言模型使得它们能够服从人类的一些指示》。 标题解释&#…

8+NAM+分型+单细胞生信思路

今天给同学们分享一篇肿瘤NAM分型单细胞的生信文章“Comprehensive analysis of nicotinamide metabolism-related signature for predicting prognosis and immunotherapy response in breast cancer”,这篇文章于2023年3月8日发表在Front Immunol期刊上&#xff0…

2023年中国现制咖啡市场发展概述分析:交易笔数和客单价将持续上升[图]

受到疫情封控影响,咖啡线下门店受到影响,但线上外卖门店仍保持良好发展态势,整体零售规模增长稳中有升。2022年,中国现制咖啡总零售规模为640亿元,2017-2022年零售规模的年复合增长率为16.3%。受益于资本关注、茶饮品牌…

安徽怀宁领导一行莅临蓝海彤翔集团参观考察

10月17日上午,中共怀宁县委书记余学峰,怀宁县政府副县长谭宪锋、怀宁县委办主任刘劲松、怀宁县招商中心副主任余飞、怀宁县委办四级主任科员彭俊等领导一行莅临蓝海彤翔集团参观考察,集团总裁鲁永泉、集团CTO穆凯辉接待了考察团一行。 考察团…