Iterating over bidimensional Java arrays -


  सार्वजनिक स्थिर सूची & lt; vertex & lt; पूर्णांक & gt; & gt; पेटर्सनग्राफ () {सूची & लेफ्टिनेंट; वर्टेक्स & lt; पूर्णांक & gt; & gt; V = नया अर्रेलिस्ट & लेफ्टिनेंट; वर्टेक्स & lt; पूर्णांक & gt; & gt; (); के लिए (इंट आई = 0; आई & lt; 10; i ++) {v.add (नया वर्टेक्स & lt; पूर्णांक & gt; (i)); } Int [] [] किनारों = {{0,1}, {1,0}, {1,2}, {2,1}, {2,3}, {3,2}, {3,4} , {4,3}, {4,0}, {0,4}, {5,6}, {6,5}, {6,7}, {7,6}, {7,8}, { 8,7}, {8 9}, {9,8}, {9,5}, {5 9}, {5,0}, {0,5}, {6,2}, {2, 6}, {7,4}, {4,7}, {8,1}, {1,8}, {9,3}, {3 9}}; के लिए (int [] ई: किनारों) v.get (e [0])। उत्तराधिकारी ()। जोड़ें (v.get (e [1])); वापसी वी; }  

मैं उस बिंदु तक सब कुछ समझता हूँ जहां किनारों पर फिर से चलती है I क्या हो रहा है?

संपादित करें: वे ई [0] और ई [1] का उपयोग क्यों कर रहे हैं? ई [0] पहला नंबर और ई [1] दूसरा

अरे, यह बदसूरत है।

किनार एक द्विअर्थी सरणी है, इसलिए यह एआरएआर की एक सरणी है। वास्तविक परिभाषा में, यह जोड़े की एक सरणी है।

(int [] ई: किनारों के लिए रेखा का अर्थ है कि प्रत्येक पुनरावृत्ति में, ई अलग-अलग ints बन जाएंगे, इसलिए हर यात्रा में यह एक अलग जोड़ी है

फिर, ई [0] जोड़ी में पहली वस्तु का प्रतिनिधित्व करता है और ई [1] दूसरे को दर्शाता है तो पहला समन्वय एक शीर्ष को देखने के लिए उपयोग किया जाता है, और तब कुछ होता है और दूसरा समन्वय जोड़ा जाता है। शीर्ष को देखने या एल्गोरिथम जानने के बिना यह स्पष्ट नहीं है।


Comments