Bây giờ tôi đang làm việc với backtracking đệ quy, nhiệm vụ của tôi là tìm đường đi dài nhất trong mê cung, khối lượng được trình bày dưới dạng trường được bao phủ bởi tọa độ, và tọa độ của các bức tường bị đau trong tập tin. Tôi đã thực hiện một trình phân tích cú pháp để phân tích tệp đầu vào và xây dựng các bức tường, nhưng tôi cũng đã lưu trữ tọa độ này trong mảng của một loại đối tượng Tọa độ, để kiểm tra xem có thể di chuyển phần tiếp theo của "con rắn" trên trường tiếp theo, sau đó tôi đã tạo phương thức này, bây giờ tôi đã hiểu rằng tôi sẽ cần một phương pháp để loại bỏ tọa độ cuối cùng khỏi mảng khi tôi sử dụng backtracking, làm cách nào tôi có thể thực hiện được? chỉ liệt kê các mảng! Cảm ơn bạn!Làm thế nào để xóa phần tử cuối cùng khỏi một mảng?
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;
}
}
Và
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;
}
}
là 'arrays' sử dụng bắt buộc? Bạn có thể đi với biến thể Object như 'ArrayList' hoặc các phương thức hữu ích khác. –
Có nó là bắt buộc, tôi biết nó là ngu ngốc để sử dụng chúng, nhưng nó là bắt buộc! –