用Java实现自定义链表中的方法
我目前正在做一个自己的编程项目,我需要一些帮助 这是我正在使用的LinkedList类:用Java实现自定义链表中的方法,java,linked-list,Java,Linked List,我目前正在做一个自己的编程项目,我需要一些帮助 这是我正在使用的LinkedList类: class LinkedList { Node cursor; private Node head; // first node in the linked list private int count; public int getCount() { return count; } public Node getHead() {
class LinkedList {
Node cursor;
private Node head; // first node in the linked list
private int count;
public int getCount() {
return count;
}
public Node getHead() {
return head;
}
public LinkedList() {
head = null; // creates an empty linked list
count = 0;
}
public void addFront(int n) {
Node newNode = new Node(n);
newNode.setLink(head);
head = newNode;
count++;
}
public void deleteFront() {
if (count > 0) {
Node temp = head;
head = temp.getLink();
temp = null;
count--;
}
}
}
以下是我的问题:
我假设您使用的是标准Java“链表”集合,而不是实现自己的 如果是这样的话,您所要做的就是查看Javadoc和/或任何数量的关于Java集合的优秀教程 例如:
find(int)
方法,该方法返回一个节点,允许您获取对要删除的节点的引用
假设您有一个双链接的节点,您只需更改周围节点的引用,垃圾收集器就会清除该节点的内存
如果它是单链接的,则需要使用一个for循环来查找要删除的节点,然后使用对当前节点之后的上一个节点的引用,将prev中next的引用更改为curr.next
2.)如果编写find方法,则可以切换节点中的数据,也可以使用remove中的类似for循环来更改周围节点的引用
3.)使用将对数据进行排序的节点编写选择排序。节点不需要移动,您可以切换数据
for(Node curr = this.head; curr != null; curr = curr.next)
for(Node next = curr.next; next != null; next = next.next)
诸如此类。您是在用节点实现自己的链表吗?我使用的是我在网上找到的linkedlist类。我需要粘贴代码吗?如果需要代码帮助,发布代码总是有帮助的。如果可以使用标准的“java.util.LinkedList”,请不要使用“联机找到的链表类”!谢谢你的意见。但是我被教程搞糊涂了,因为它们是在主类中实现的。我需要做的是将方法添加到linkedlist类中,而不是主类中。谢谢