मैं प्रोग्रामिंग में बस शुरुआत कर रहा हूं। uf विधि संघ के साथ संघ-खोज वर्ग है जो दो नोड की जड़ों को जोड़ता है। कोड का यह टुकड़ा एक ग्रिड की साइट खोलने के लिए ज़िम्मेदार है और यदि पड़ोसी को खोला जाता है तो साइट अपने पड़ोसी के साथ मिलती है। और यदि उसके पड़ोसियों में से एक भरा हुआ है, तो साइट से जुड़े सभी नोड्स भरें।जावा में बार-बार कोड से कैसे बचें?
if(i == 1){
uf.union(len*len, xyTo1D(i,j));
if(existAndOpen(i+1,j)){
uf2.union(xyTo1D(i+1,j), xyTo1D(i,j));
uf.union(xyTo1D(i,j), xyTo1D(i+1,j));
}
if(existAndOpen(i-1,j)){
uf2.union(xyTo1D(i-1,j), xyTo1D(i,j));
uf.union(xyTo1D(i,j), xyTo1D(i-1,j));
}
if(existAndOpen(i,j-1)){
uf2.union(xyTo1D(i,j-1), xyTo1D(i,j));
uf.union(xyTo1D(i,j), xyTo1D(i,j-1));
}
if(!(j == len && i == len)){
if(existAndOpen(i,j+1)){
uf2.union(xyTo1D(i,j+1), xyTo1D(i,j));
uf.union(xyTo1D(i,j), xyTo1D(i,j+1));
}
}
}
else{
if(existAndFull(i+1,j)){
uf2.union(xyTo1D(i+1,j), xyTo1D(i,j));
uf.union(xyTo1D(i,j), xyTo1D(i+1,j));
}
if(existAndFull(i-1,j)){
uf2.union(xyTo1D(i-1,j), xyTo1D(i,j));
uf.union(xyTo1D(i,j), xyTo1D(i-1,j));
}
if(existAndFull(i,j-1)){
uf2.union(xyTo1D(i,j-1), xyTo1D(i,j));
uf.union(xyTo1D(i,j), xyTo1D(i,j-1));
}
if(!(j== len && i == len)){
if(existAndFull(i,j+1)){
uf2.union(xyTo1D(i,j+1), xyTo1D(i,j));
uf.union(xyTo1D(i,j), xyTo1D(i,j+1));
}
}
if(existAndOpen(i+1,j)){
uf.union(xyTo1D(i,j), xyTo1D(i+1,j));
}
if(existAndOpen(i-1,j)){
uf.union(xyTo1D(i,j), xyTo1D(i-1,j));
}
if(existAndOpen(i,j-1)){
uf.union(xyTo1D(i,j), xyTo1D(i,j-1));
}
if(!(j== len && i == len)){
if(existAndOpen(i,j+1)){
uf.union(xyTo1D(i,j), xyTo1D(i,j+1));
}
}
}
}
मैं कैसे कोड को आसान बनाने में कर सकते हैं: यह वास्तविक कोड है?
क्यों आप अपने विचारों को पहले का हिस्सा नहीं है? ऐसा लगता है कि आप अपना होमवर्क डंप कर रहे हैं। – nolexa
कृपया अपनी समस्या को समझने के लिए हमारे लिए पर्याप्त कोड प्रदान करें। अभी, ऐसा प्रतीत होता है कि आपको पहले की आवश्यकता नहीं है अगर-और कथन बिल्कुल भी। कृपया [पूछे] पृष्ठ पर जाएं और अपने प्रश्न को संपादित करें। – Spencer4134
@ स्पेंसर 4134: मुझे अधिक जानकारी नहीं दिखेगी, लेकिन 'if' निर्दिष्ट करता है कि परीक्षण में' f1' का उपयोग किया जाता है, या 'f2' है। – Amadan