0
我正在嘗試建立聯繫人管理器。我心裏有一個數據結構有幾個屬性:這種方案使用什麼類型的樹?
是樹狀的,這意味着每條信息可以被分成subpieces(每個節點有孩子)。例如,稱爲
address
的字段可以由street
,town
,postal code
等子字段組成。節點不必是唯一的,對於
email
領域的實例幾個節點應該能夠在下一個共存的情況下(在同一水平)
我想能夠使用類似路徑的方式探索樹,例如通過路徑訪問節點:address.street
或name.first
。訪問存在多次密鑰的節點可以像email[2]
那樣完成。
這樣一棵樹可能看起來像:
contact
↳ name
↳ first "foo"
↳ last "von bar"
↳ email "[email protected]"
↳ email "[email protected]"
↳ address
↳ street "foostreet 42"
↳ town "barstadt"
↳ zip "04229"
↳ country "footopia"
↳ address
↳ street "barton alley 11"
↳ town "foostadt"
↳ zip "998877"
↳ country "alcabaz"
什麼樣的樹是什麼?我嘗試過使用Boost的property_tree
,但發現難以實現address
應該在高層分離的事實(Boost的標準方法會將street
,town
,...節點放在一個address
中)。
歡迎任何想法。
任何C++庫,你可以推薦嗎? – romeovs
http://jsoncpp.sourceforge.net/或者如果您使用Boost http://www.boost.org/doc/libs/1_41_0/doc/html/property_tree.html – SamLeBarbare