Теперь я работаю с рекурсивным возвратом назад, мое задание - найти самый длинный путь в лабиринте, масса представлена как поле, покрытое координатами, а координаты стенок больны в файле. Я сделал парсер для синтаксического анализа входного файла и построения стен, но я также сохранил эти координаты в массиве координаты типа объекта, чтобы проверить, можно ли переместить следующий фрагмент «змеи» на следующее поле, то я создал этот метод, теперь я понял, что мне понадобится метод для удаления последней координаты из массива, когда я буду использовать backtracking, как я могу это сделать? Цель состоит не в том, чтобы использовать списки массивов или связанные перечисляет только массивы! Спасибо!Как удалить последний элемент из массива?
public class Coordinate {
int xCoord;
int yCoord;
Coordinate(int x,int y) {
this.xCoord=x;
this.yCoord=y;
}
public int getX() {
return this.xCoord;
}
public int getY() {
return this.yCoord;
}
public String toString() {
return this.xCoord + "," + this.yCoord;
}
}
И
public class Row {
static final int MAX_NUMBER_OF_COORD=1000;
Coordinate[] coordArray;
int numberOfElements;
Row(){
coordArray = new Coordinate[MAX_NUMBER_OF_COORD];
numberOfElements=0;
}
void add(Coordinate toAdd) {
coordArray[numberOfElements]=toAdd;
numberOfElements +=1;
}
boolean ifPossible(Coordinate c1){
for(int i=0;i<numberOfElements;i++){
if(coordArray[i].xCoord==c1.xCoord && coordArray[i].yCoord==c1.yCoord){
return false;
}
}
return true;
}
}
ли 'arrays' использовать обязательным? Вы можете пойти с изменением объекта, например, 'ArrayList' или другим, предоставляющим полезные методы. –
Да, это обязательно, я знаю, что использовать их глупо, но это обязательно! –