В питоне я следующее:Создание в C#, C++ и Java сильную версию набранного из питона слабой структуры типизированного
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]
это структура, чтобы представить график и что я считаю, хорошо, потому что его структура то же самое, что и один из его узлов, поэтому я могу использовать его непосредственно для инициирования поиска (как в глубине-первой). Печатная версия этого является:
{1: {3: {2: {1: {...}, 3: {...}}}}, 2: {1: {3: {2: {...}}}, 3: {2: {...}}}, 3: {
2: {1: {3: {...}}, 3: {...}}}}
И он может быть использован как:
graph[1][3][2][3][2][1][3][2][1][3][2].keys()
Теперь, я хотел бы знать, как бы один реализовать в C++, C# и Java, не прибегая к Трюки «Объект», которые заполняли бы код уродливыми бросками. Для C++ я думал в templatemeta программирования, но что будет генерировать «конечные типы данных», когда то, что нужно что-то вроде
map<int,map<int,...>> or map<int,...>
Вы можете попробовать [cppscript] (http://calumgrant.net/cppscript/). –