java单链表根据内容删除节点
方法名是这个publicbooleanremove(Objecto)这个方法就是说根据节点的内容,删除含有此内容的节点,是java语言来写linkedList单向链表或者...
方法名是这个public boolean remove(Object o)
这个方法就是说根据节点的内容,删除含有此内容的节点,是java语言来写
linkedList单向链表或者双向链表的方法都可以,拜托了 展开
这个方法就是说根据节点的内容,删除含有此内容的节点,是java语言来写
linkedList单向链表或者双向链表的方法都可以,拜托了 展开
展开全部
代码:
// 删除下标为index的节点
public void remove(int index) {
if (index >= modCount) {
// 抛异常
System.out.println("indexOutOfBoundsException!");// 最好自定义异常抛出,这里演示
return;
}
Node node = head;
// 如果节点为第一个节点
if (index == 0) {
head = head.next; // 将头节点指向第二个节点
modCount--;
return;
}
// 如果节点为最后一个节点,找到最后一个节点的前一个节点,不用管
if (index == modCount - 1) {
System.out.println("ddd");
// 找到最后一个节点的前一个节点
int j = 0;
while (node != null && j < index - 1) {
// 最后一个节点的前一个节点
node = node.next;
j++;
}
last = node; // 最后一个节点设置为前一个节点
modCount--;
return;
}
// 如果节点为中间节点
int j = 0;
while (node != null && j < index - 1) {
// 查找被删除的节点的前一个节点
node = node.next;
j++;
}
node.next = node.next.next; // 被删除节点的下一个节点设置为被删除节点的下下个节点
modCount--;
}
追问
不好意思,我是根据节点中的内容不是根据索引,不过谢谢啦,能告诉我根据节点中内容的方式吗
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询