Java の優先度リンク リストで検索操作を実行したいのですが、そのための検索および削除メソッドを既に作成していますが、これらのメソッドをメイン関数に呼び出す際に問題に直面していますか? これまでの私のコードは次のとおりです。
import java.util.*;
クラス ノード {
public static Node next = null;
public static int item = 0;
public Node(int item) {
this.item = item;
}
}
パブリック クラス メイン {
static PriorityQueue<String> stringQueue;
public static void main(String[] args) {
stringQueue = new PriorityQueue<String>();
stringQueue.add("1");
stringQueue.add("2");
stringQueue.add("3");
stringQueue.add("6");
stringQueue.add("6");
stringQueue.add("5");
stringQueue.add("9");
stringQueue.add("8");
stringQueue.add("7");
stringQueue.add("4");
while (stringQueue.size() > 0)
System.out.println(stringQueue.remove());
Node head = null;
}
public static Node searchNodeFIFO(Node head, int item) {
System.out.println("In Search Node");
Node cHead = head;
while (cHead != null) {
if (cHead.item == item)
return cHead;
cHead = cHead.next;
}
return null;
}
public Node deleteNodeFIFO(Node head, int item) {
System.out.println("In Delete Node");
if (head.item == item)
return head.next;
Node cNode = head;
Node nNode = head.next;
while (nNode != null) {
if (nNode.item == item) {
cNode.next = nNode.next;
break;
} else {
cNode = nNode;
nNode = nNode.next;
}
}
return head;
}
public void printLinkList(Node head) {
while (head != null) {
System.out.println(head.item);
head = head.next;
}
}
}