gpt4 book ai didi

java - 链表find()方法。如何

转载 作者:行者123 更新时间:2023-12-01 13:53:41 25 4
gpt4 key购买 nike

好吧,我有一个链接列表(不是集合),并且我创建了一个新方法来在链接列表中查找对象。所以像这样:

 public Object find(Linked obj) {

Linked newObj = firstLink;

while(newObj != null) {

if(newObj == obj) {
return obj;
}
else {

newObj = newObj.next;
}
}

顺便说一下,我有2个类:LinkedLinkedlist。在第一个中,我有对下一个节点和显示函数的引用。主要操作在 Linkedlist 中,其中我有所有方法,如插入、显示和 firstLink 引用(列表中最后插入的节点)(我的 find() 方法也在此类中)。所以在我的主要功能中我这样做:

Linkedlist obj = new Linkedlist();
obj.insert("Auto");

Linkedlist obj2 = new Linkedlist();
obj2.insert("Moto");

如何调用我的方法 find() 来检查我的 Linkedlist 是否有(例如)obj2

最佳答案

这样想:

你有Linked类(这是一个链表节点,每个节点应该有next指针和节点内的元素)。所以这个类应该有构造函数、setter 和 getter 方法。

另一方面,Linkedlist 类是管理 Linked 对象(即管理链表节点)的主类。在此类中,您应该引用根节点(您插入的第一个节点)。所以在你的程序中,你应该只有一个或多个 Linked 对象和 Linkedlist 作为你的主类。

Linked root = new Linked("Auto",null); //here Linked constructor takes 2 parameters, the element and the next pointer.
//Since you only inserted one element so far, the next element should be null.

//Insert another element
insertAtEnd("Moto");

public void insertAtEnd(String element){
Linked curr = root;
while(curr.next != null) curr = curr.next;
curr.setNext(new Linked(element,null);
}

public Linked findElement(String element){
Linked curr = root;
while(curr!=null){
if(curr.getElement().equals(element)) return curr;
else curr = curr.next;
}
return null; //element not found
}

关于java - 链表find()方法。如何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19763102/

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