加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Java链表概念理论知识点

发布时间:2020-12-15 01:56:54 所属栏目:Java 来源:网络整理
导读:上一个(对象)的引用指向下一个节点对象 头插: 1.如果要插入的数据没有结点 先给它装入一个节点中Node node=new Node(); node.value=0; 2.让原来的第一个结点成为新节点的下一个结点node.next=head; 3.更新最新的第一个结点为新节点 head=node; 尾插; 1.如
上一个(对象)的引用指向下一个节点对象
头插:
1.如果要插入的数据没有结点 先给它装入一个节点中Node node=new Node();
node.value=0;
2.让原来的第一个结点成为新节点的下一个结点node.next=head;
3.更新最新的第一个结点为新节点 head=node;

尾插;
1.如果没在节点中,先装到节点中
1.5让新结点的next=null
Node node=new Node(val);构造方法中已经让 。next=null了
2.找到倒数第一个结点(子问题)找到.next=null的节点
Node last=head;
while(last.next!=null){last=last.next;}
last 就是最后一个结点
3.让原来的倒数第一个结点的下一个结点为新节点
last.next=node;

尾插分情况讨论1.空链表的情况 就是让新的节点成为第一个结点
2.非空(上面方式)

头删:直接让head指向head.next,返回head

尾删:(分情况)
如果head为空,空链表无法删除
如果head.next为空,直接让head指向null(只有一个)
至少两个:1.找到倒数第二个结点
lastSecond.next.next==null;//就是倒数第二个结点
2.让倒数第二个结点的next=null;(倒数第二个变为倒数第一个,做到尾删)
3.原来最后一个结点因为没有引用指向而被回收

反转链表:1.不断地从原来链表中取出结点,头插到一个新链表上;2.需要一个新链表,并且是空的链表Node result=null;//result新链表的第一个结点的引用3.遍历原来的链表Node cur=head;while(cur!=null){cur=cur.next;}4.把每个遍历到的结点(cur)。头插到新链表(result代表)中11.已经有结点12.cur.next=result;13.更新最新的第一个结点result=cur;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读