तो मैं इस तरह एक द्विपक्षीय ग्राफ के किनारों के इनपुट में लेने की जरूरत:मैं जावा में लिंक्ड सूचियों की एक सरणी कैसे बना सकता हूं?
6
1 3
1 2
1 5
2 7
2 4
2 9
पहले नंबर किनारों की संख्या है। उसके किनारों के बाद सूचीबद्ध हैं। देखें कि उदाहरण के लिए वर्टेक्स 1 में कई अलग-अलग किनारों हैं और मैं ट्रैक करना चाहता हूं कि 1 किससे जुड़ा हुआ है, मैं सोच रहा था कि ग्राफ के प्रत्येक चरम पर कुछ प्रकार की शीर्षकों की सूची होगी जो इससे जुड़ा हुआ है जिससे मुझे लिंक्ड सूचियों की एक सरणी बनाएं लेकिन मुझे यकीन नहीं है कि मैं यह कैसे करूंगा। मैंने
LinkedList<Integer>[] vertex = new LinkedList[5];
int i = 0, m = 6;
while(i!=m){
int temp = sc.nextInt();
int temp2 = sc.nextInt();
vertex[temp].add(temp2);
i++;
}
लेकिन मुझे ऐड लाइन पर एक nullpointerexception मिलता है।
आपने सरणी में तत्वों को प्रारंभ नहीं किया है, केवल सरणी ही। –
क्या आप कक्षाएं बनाने के बारे में सोचते थे - 'Vertex',' Edge'? और 'Graph' नामक किसी अन्य वर्ग में 'सूची' है? –
इसके अलावा, सरणी 0-आधारित इंडेक्स का उपयोग करती हैं जिसका अर्थ है कि आकार 5 की एक सरणी में सूचकांक '0 ... 4' है। –