अब मैं रिकर्सिव बैकट्रैकिंग के साथ काम कर रहा हूं, मेरा असाइनमेंट भूलभुलैया में सबसे लंबा रास्ता ढूंढना है, द्रव्यमान को निर्देशांक के साथ कवर किया गया क्षेत्र के रूप में प्रस्तुत किया जाता है, और दीवारों के निर्देशांक फ़ाइल में परेशान होते हैं। मैंने इनपुट फ़ाइल को पार्स करने और दीवारों का निर्माण करने के लिए एक पार्सर बनाया है, लेकिन मैंने इस निर्देशांक को ऑब्जेक्ट प्रकार कोऑर्डिनेट की सरणी में भी संग्रहीत किया है, यह जांचने के लिए कि क्या "सांप" के अगले भाग को स्थानांतरित करना संभव है या नहीं अगला फ़ील्ड, फिर मैंने इस विधि को बनाया है, अब मुझे समझ में आया है कि जब मैं बैकट्रैकिंग का उपयोग करूंगा, तो सरणी से अंतिम समन्वय को हटाने के लिए मुझे एक विधि की आवश्यकता होगी, मैं इसे कैसे कर सकता हूं? लक्ष्य सरणी सूचियों या लिंक का उपयोग नहीं करना है केवल सरणी सूचीबद्ध करता है! धन्यवाद!किसी सरणी से अंतिम तत्व को कैसे हटाएं?
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' या अन्य सहायक सहायक विधियों के साथ जा सकते हैं। –
हां यह अनिवार्य है, मुझे पता है कि यह उनका उपयोग करने के लिए बेवकूफ है, लेकिन यह अनिवार्य है! –