链表中结点的插入和删除

目录

一、创建链表

二、插入和删除(不带傀儡结点)

1.插入结点

①中间插入

②头部插入

③尾插

2.删除结点

①按值删除

②按位置删除

③按下标删除

④尾删

⑤“移形换影”

三、插入和删除(带傀儡结点)

1.插入结点

2.删除结点


一、创建链表

创建Nodee类

//使用Nodee表示结点
public class Nodee {
    public int val;
    public Nodee next=null;

    public Nodee(int val) {
        this.val = val;
    }
    @Override
    public String toString() {
        return "["+val+"]";
    }
}

创建链表 

//通过此方法,创建出一个固定内容的链表
    public static Node creatList(){
        //创建结点
        Nodee a=new Nodee(1);
        Nodee b=new Nodee(2);
        Nodee c=new Nodee(3);
        Nodee d=new Nodee(4);
 
        //给引用进行赋值
        a.next=b;//把 b的地址赋值到a的next中
        b.next=c;//把 c的地址赋值到b的next中
        c.next=d;//把 d的地址赋值到c的next中
        d.next=null;//这行可以不写,Node类中已初始化成null
        return a;//返回头结点
    }

获取头结点

Nodee head=creatList();

二、插入和删除(不带傀儡结点)

1.插入结点

①中间插入

        //1.插入结点到链表中间
        Nodee prev=head;
        //创建新结点
        Nodee newNode=new Nodee(100);
        //1)先把newNode的next指向prev的next
        newNode.next=prev.next;
        //2)再把prev的next指向newNode
        prev.next=newNode;

②头部插入

        Nodee newNode1=new Nodee(99);
        //1)先把新结点的next指向head
        newNode1.next=head;
        //2)让head指向新的结点
        head=newNode1;

③尾插

    public static void WeiCha(Nodee head,int v
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值