4.5 链表元素的删除
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 }
带女朋友搬家新家条件不好,累到女朋友了,让女朋友受苦了,特此明志:每天学习,明年这个时候(20190812)让女朋友住上大房子,永远年轻,永远热泪盈眶,很多人都是这样,他们都把自己当成身在梦中一样,浑浑噩噩地过日子,只有痛苦或爱或危险可以让他们重新感到这个世界的真实。