我正在创建链接列表。我完成的大部分课程都不能弄清楚其中的一些部分。
我尝试了不同的代码,但我不知道正确的是什么以及如何做到这一点。
任何人都可以帮助我。
public class LinkedList<T> implements LinkedListADT<T> {
private int count; // the current number of elements in the list
private LinearNode<T> list; // pointer to the first element
private LinearNode<T> last; // pointer to the last element
/*
* Create an empty list first
*/
public LinkedList() {
this.count = 0;
this.last = null;
this.list = null;
}
// 1. add to end of list
public void add(T element) {
LinearNode<T> node = new LinearNode<T>(element);
if (size() == 0) {
this.last = node; // This is the last and the
this.list = node; // first node
this.count++;
} // end if
else if (!(contains(element))) {
last.setNext(node); // add node to the end of the list
last = node; // now make this the new last node.
count++;
} // end if
}
}
如何在列表中的正确排序位置添加对象。这就是我所拥有但无法弄清楚正确的代码。
/*
* 2. add in correct sorted position
*/
public void addSorted(T element) {
LinearNode<T> node = new LinearNode<T>(element);
}
答案 0 :(得分:0)
import java.util。*; public class LinkedListDemo {public static void main(String args []){//创建一个链表LinkedList ll = new LinkedList(); //将元素添加到链表ll.add(&#34; F&#34;); ll.add(&#34; B&#34); ll.add(&#34; d&#34); ll.add(&#34; E&#34); ll.add(&#34; C&#34); ll.addLast(&#34; Z&#34); ll.addFirst(&#34; A&#34); ll.add(1,&#34; A2&#34;); System.out.println(&#34; ll的原始内容://从链接列表中删除元素ll.remove(&#34; F&#34;); ll.remove(2); System.out.println( &#34; de + ll之后的ll的内容; //删除第一个和最后一个元素ll.removeFirst(); ll.removeLast(); System.out.println(&#34; ll在删除第一个+ ll之后) ; //获取并设置一个值Object val = ll.get(2); ll.set(2,(String)val +&#34; Changed&#34;); System.out.println(&#34; ll改变之后:&#34; + ll); }}
输出:
ll的原始内容:[A,A2,F,B,D,E,C,Z]删除后ll的内容:[A,A2,D,E,C,Z ll删除后的第一个和最后一个:改变后的[A2,D,E,C] ll:[A2,D,E改变,C]
答案 1 :(得分:0)
首先遍历列表,直到到达应该输入的位置然后将该节点及其之前的节点保存到变量中并将其添加到那里。
注意:根据它是第一个,最后一个还是中间节点,它会有不同的添加方式,所以请确保你有选择语句来检查它。