首页 > 其他 > 详细

4.5 链表元素的删除

时间:2019-01-26 10:43:52      阅读:203      评论:0      收藏:0      [点我收藏+]

1.删除指定索引index处的元素

和向链表中添加元素一样,寻找到等待删除的元素前的节点

 

技术分享图片

 找到2前面的节点1,

技术分享图片

 

技术分享图片

 

 1  public E remove(int index){
 2         if(index < 0 || index >= size)
 3             throw new IllegalArgumentException("Remove failed. Index is illegal.");
 4              //找到等待删除的元素之前的节点
 5         Node prev = dummyHead;
 6         for(int i = 0 ; i < index ; i ++)
 7             prev = prev.next;
 8 
 9         Node retNode = prev.next;  //retNode为待删除节点
10         prev.next = retNode.next;
11         retNode.next = null;
12         size --;
13 
14         return retNode.e;
15     }
16 
17     // 从链表中删除第一个元素, 返回删除的元素
18     public E removeFirst(){
19         return remove(0);
20     }
21 
22     // 从链表中删除最后一个元素, 返回删除的元素
23     public E removeLast(){
24         return remove(size - 1);
25     }

2 删除链表中的指定元素

 1 // 从链表中删除元素e
 2     public void removeElement(E e){
 3 
 4         Node prev = dummyHead;
 5         while(prev.next != null){
 6             if(prev.next.e.equals(e))
 7                 break;
 8             prev = prev.next;
 9         }
10 
11         if(prev.next != null){
12             Node delNode = prev.next;
13             prev.next = delNode.next;
14             delNode.next = null;
15             size --;
16         }
17     }

 

4.5 链表元素的删除

原文:https://www.cnblogs.com/make-big-money/p/10322269.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!