数据结构之单链表基本操作

本文详细介绍了单链表的基础操作,包括接口定义、链表类的实现、节点的创建与插入(头插法、尾插法、指定位置插入)、查找与删除节点(包括特定值和所有值)、链表长度获取、清空链表以及链表的显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

🤷‍♀️🤷‍♀️🤷‍♀️ 今天给大家分享的是单链表的基本操作。

清风的个人主页

🎉欢迎👍点赞✍评论❤️收藏

😛😛😛希望我的文章能对你有所帮助,有不足的地方还请各位看官多多指教,大家一起学习交流!

动动你们发财的小手,点点关注点点赞!在此谢过啦!哈哈哈!😛😛😛

目录

 一、接口定义

二、类定义

三、方法实现

3.1创建单链表(初始化创建)

3.2头插法插入节点

3.3尾插法插入节点

3.4指定位置插入节点

3.5判断节点是否包含在链表中

3.6删除值为key的节点

 3.7删除所有值为key的节点

3.8得到链表长度

3.9清空链表

3.10显示链表(打印)


源码链接:>清风的Gitee主页

 一、接口定义

还是和之前的顺序表一样,定义一个接口。后续通过链表类去实现这个定义的接口。

interface SingleLinkedList {
    //头插法
    void addFirst(int data);
    //尾插法
    void addLast(int data);
    //任意位置插入,第一个数据节点为0号下标
    void addIndex(int index,int data);
    //查找是否包含关键字key是否在单链表当中
    boolean contains(int key);
    //删除第一次出现关键字为key的节点
    void remove(int key);
    //删除所有值为key的节点
     void removeAllKey(int key);
    //得到单链表的长度
     int size();
     void clear();
     void display();
}

二、类定义

定义一个链表类,它是由各个节点构成的,因此还需要在链表类内定义一个关于节点的内部类。代码如下:
 

public class MyLinkedList implements SingleLinkedList {

    class LinkNode {
        public int val;
        public LinkNode next;

        public LinkNode(int val) {
            this.val = val;
        }
    }

    public LinkNode head;
}

三、方法实现

3.1创建单链表(初始化创建)

每次通过LinkNode类定义的节点去new一个新的节点并通过构造函数设置初始值,节点定义完成后,通过各个节点的next域把各个节点之间联系起来,便成功创建了一个单链表。

    public void creatLinkedList() {
        LinkNode node1 = new LinkNode(12);
        LinkNode node2 = new LinkNode(23);
        LinkNode node3 = new LinkNode(34);
        LinkNode node4 = new LinkNode(45);
        LinkNode node5 = new LinkNode(56);
        node1.next = node2;
        node2.next = node3;
        node3.next = node4;
        node4.next = node5;

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

..清风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值