首先,这是一项任务。我没有要求任何代码澄清。
我真的不明白这个问题,是否意味着将删除的元素放入数组中并在调用删除head元素的方法时立即打印它,这意味着每次打印1个元素和数组容量总是1?或者你创建一个数组作为类成员,每次删除一个元素,它被放入数组,然后有一个打印数组的方法?如果是这样,你如何处理阵列容量,因为链接列表不是固定大小?
我自己的解决方案是创建一个静态arraylist并且每次调用deleteFirst()方法时,节点内的数据都放在arraylist中然后我只有一个方法打印arraylist,对我来说这似乎是合乎逻辑的解决方案,但我只限于使用数组。
deleteFirst()删除链表中的头节点。
答案 0 :(得分:0)
由于这是你的任务,你可以使用System.arraycopy方法执行类似arrayList的操作:
MyElementType[] elementArray = new MyElementType[10];
.....
element = deleteFirst();
if (!doWeHaveEmptyLocationInArray()) {
MyElementType[] tempElementArray = new MyElementType[elementArray.length() * 2];//double the size of array
System.arraycopy(elementArray, 0, tempElementArray, 0, elementArray.lengh());//copy elements from old array to new one
elementArray = tempElementArray;
}
...add the removed element to new array