我在完成作业时遇到问题。我对编码相当陌生,并且很难弄清楚如何做到这一点。我的教授提供了从数组中添加和删除项目的代码,但他希望我们添加一个方法,将项目添加到数组的正确位置。这是提供的代码:
import java.util.*;
public class MyArrayList {
private Object[]buffer;
private int currentSize;
public MyArrayList(){
final int INITIAL_SIZE=10;
buffer = new Object[INITIAL_SIZE];
currentSize=0;
}
public int size() {
return currentSize;
}
private void checkBounds(int n){
if (n<0||n>= currentSize){
throw new IndexOutOfBoundsException();
}
}
public Object get (int pos){
checkBounds(pos);
return buffer[pos];
}
public Object remove(int pos){
checkBounds(pos);
Object removed = buffer[pos];
for (int i = pos+1; i < currentSize; i++){
buffer[i-1] = buffer[i];
}
currentSize--;
return removed;
}
public boolean add(int pos, Object newElement){
growBufferIfNecessary();
currentSize++;
checkBounds(pos);
for(int i = currentSize - 1; i > pos; i--){
buffer[i] = buffer [i-1];
}
buffer[pos] = newElement;
return true;
}
public boolean addLast(Object newElement){
growBufferIfNecessary();
currentSize++;
buffer[currentSize -1] = newElement;
return true;
}
private void growBufferIfNecessary(){
if (currentSize==buffer.length){
Object[] newBuffer = new Object[2*buffer.length];
for(int i=0; i<buffer.length; i++){
newBuffer[i] = buffer[i];
}
buffer = newBuffer;
}
}
}
这是我们的任务:
添加一个名为“public void insert(int n)”的方法,该方法会将 n 添加到 MyArrayList 对象中保持排序顺序的正确位置。使用现有的 MyArrayList 类并进行必要的修改。这是一个测试用例:
MyArrayList 列表 = new MyArrayLst();
列表.插入(5); 插入(10);插入(8);插入(20);插入(6);
如果您现在打印列表,它应该打印为:
5
6
8
10
20
这就是到目前为止我的主要方法中的内容:
import java.util.*;
public class ArrayListHomework {
public static void main (String[]args){
MyArrayList list = new MyArrayList();
list.insert(5);
list.insert(10);
list.insert(8);
list.insert(20);
list.insert(6);
for (int i=0; i<list.size(); i++){
System.out.println(list.get(i));
}
}
}
我非常不知道如何启动这个插入方法。任何帮助,将不胜感激。谢谢。
倚天杖
慕哥6287543
慕田峪4524236
相关分类