W python Mam następujący:Tworzenie w C#, C++ i Java silną wersję wpisywanych z pytona słabej struktury maszynowy
graph = {}
graph[1] = {}
graph[2] = {}
graph[3] = {}
graph[1][3] = graph[3]
graph[2][1] = graph[1]
graph[2][3] = graph[3]
graph[3][2] = graph[2]
jest to konstrukcja do reprezentowania wykresu i że znajdę dobre, bo jego struktury jest taki sam jak jeden z jego węzłów, więc mogę go użyć bezpośrednio do zainicjowania wyszukiwania (jak na początku). Wydrukowana wersja to jest:
{1: {3: {2: {1: {...}, 3: {...}}}}, 2: {1: {3: {2: {...}}}, 3: {2: {...}}}, 3: {
2: {1: {3: {...}}, 3: {...}}}}
i może być używany jak:
graph[1][3][2][3][2][1][3][2][1][3][2].keys()
Teraz jestem ciekaw, jak można by zaimplementować w C++, C# i Java, bez uciekania się do Sztuczki "obiektowe", które wypełniłyby kod brzydkimi rzutami. Dla C++ myślałem w templatemeta programowania ale które generują „typy danych skończone”, kiedy potrzebne jest coś
map<int,map<int,...>> or map<int,...>
Możesz spróbować [cppscript] (http://calumgrant.net/cppscript/). –