gpt4 book ai didi

java - 通过搜索引用java删除节点

转载 作者:太空宇宙 更新时间:2023-11-04 11:39:51 25 4
gpt4 key购买 nike

所以我写了一个 linkList 来保存学生引用和下一个引用。我对插入没有任何问题。另一方面,我需要有关删除和查找该项目的帮助。所以基本上我使用 find 方法来查找学生对字符串的引用。然后使用delete方法删除与该引用对应的节点。

   public void deleteStudentNode(StudentNode delete)
{
StudentNode it = new StudentNode();
delete = shead;
it = shead;
//StudentNode b = new StudentNode();

while(it.getSptr() != findStudentByName(""))
{
delete = it;
it = it.getSptr();
}
delete.setSptr(null);
setShead(delete);
//d.setStudent(null);
}

public StudentNode findStudentByName (String findName)
{
StudentNode find = shead;

while(find.getStudent().getName() != findName)
{
if(find.getSptr() == null)

return null;

else

find = find.getSptr();
}
return find;
}

最佳答案

我建议为您的单链表实现Iterable接口(interface)。之后您需要做的就是

public void deleteByName(StudentList studentList, String nameToDelete) {
Iterator iterator = studentList.iterator();
while (iterator.hasNext()) {
if(iterator.next().getName().equals(nameToDelete)) {
iterator.remove();
}
}
}

提示,要迭代单链表,您需要 2 个指针:当前元素和前一个元素。

关于java - 通过搜索引用java删除节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42930267/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com