我正在与另一个学生比赛,以制作我们的家庭作业任务的最快版本,出于性能原因,我不使用ArrayList(自己调整数组大小将基准时间从56秒减少到4),但我想知道每次需要调整数组大小时应该调整多少。具体来说,我的代码的相关部分如下:
private Node[] list;
private int size; // The number of items in the list
private static final int N; // How much to resize the list by every time
public MyClass(){
list = new Node[N];
}
public void add(Node newNode){
if(size == list.length){
list = Arrays.copyOf(list, size + N);
}
list[size] = newNode;
size++;
}
简而言之:我应该制作什么 N
?