2017-05-20 25 views
0

嗨,所以我不完全確定如何說出話題。將指針與其他數據相關聯

我爲我的數據結構課程實現了一個圖表。該圖需要能夠找到兩個頂點之間的最短路徑。該圖損害了演員的頂點和邊緣是演員們一起進入的電影。

我想我的數據結構很快,所以我想我可以有一個actorNode類,它存儲該特定演員的名字以及actorNode指針的矢量。該矢量中的每個指針表示這兩個演員在一起的電影。我對這個實現想法的問題是,是否有辦法將所有電影信息與兩個演員之間的特定鏈接相關聯?我需要存儲電影標題和年份。

就像馬特·達蒙與本·阿弗萊克有關的電影「善意狩獵」(1997)一樣。

我的演員馬特達蒙的節點將有一個ActorNode指針,它是Ben Affleck的「鏈接矢量」。有沒有一種簡單的方法可以將「Good Will Hunting(1997)」以某種方式與兩個ActorNodes之間的鏈接聯繫起來?

謝謝!

+0

不是隻有一個指針矢量,沒有。你需要改變你的模型。 – Quentin

回答

0

您不能將附加信息附加到指針值。我看到兩種方法可以解決你的問題:

方法1類似於數據庫設計,其中人們會爲這種關係引入一個單獨的類,例如,類似class actorsPlayingTogether { Actor *a1; Actor *a2; Movie *m; }

方法2將在類演員中引入地圖,其將他的每個合作演員與相應的電影相關聯。所以班級演員可以是class Actor { std::map<Actor &,Movie &> coactors; ...}。因此你可以同時獲得 - 快速遍歷的相關演員以及相應的電影。缺點是你存儲信息冗餘,因爲演員和合作者都需要互相參照,雙方應該是一致的。

希望這兩種方法都適合您的需求。

相關問題