挑战程序设计竞赛(算法和数据结构)——4.4链表习题的Java实现

链表有初始化、插入元素、删除元素、查找元素等方法。在创建链表的过程中,最关键的是搞清楚链表的几个关键数据构成:链表由一个个节点互相串联构成,节点作为一个基础的对象,可由类Node(随便取个名字都行)来声明。节点中包含三个值,key(int)用于存储数据值的大小、prev(Node)用作指针指向上一个节点、next(Node)用作指针指向下一个节点。

本文实现的双向链表,在初始化时,头节点nil的prev和next指针均指向自己。而在插入元素时,则比较讲究,可以参考下图:
在这里插入图片描述
实现代码如下:
Main.java

public class Main {
   
    public static void main(String[] args) {
   
        BidirectionalLinkedList LinkedList = new BidirectionalLinkedList();
        LinkedList.insert(1);//链表添加元素
        LinkedList.insert(3);
        LinkedList.insert(9);
        LinkedList.insert(8);
        LinkedList.insert(4);
        LinkedList.insert(7);
        LinkedList.insert(2);
        LinkedList.show(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值