#ifndef ACTOR_H
#define ACTOR_H
#include<vector>
#include<iostream>
#include<queue>
#include<string>
struct Link;
/* (Vertex) Object Class to represent actors */
class ActorNode {
private:
/*Member Variables*/
std::string name;
std::vector<Link*> links;
public:
/*Constructor*/
ActorNode() : name("") {}
/*Getters and Setters*/
std::string getName();
void setName(std::string actor);
std::vector<Link*> getLinks();
/*Member Functions*/
//void addLink();
};
struct Link {
/*Member Variables*/
ActorNode* cs1;
ActorNode* cs2;
std::string movieTitle;
int year;
int weight;
/*Constructor*/
Link() : cs1(0), cs2(0), movieTitle(""), year(1), weight(1) {}
};
#endif
所有的晚上。所以我正在研究一個圖形實現,它是爲了解決兩個參與者之間的最短路徑(包括加權和未加權),這些參與者是由這兩個參與者共同行動的電影鏈接的演員圖。我的意思是解決最短路徑問題使用Dijkstra算法。存儲足夠的信息來建立圖形
我的實現是我想擁有一個ActorNode類,它包含一個字符串,該字符串是該角色的名稱,並且該矢量包含連接兩個參與者的「links/movies」向量。我的鏈接類只有兩個ActorNode指針鏈接兩個聯合星,然後電影的名稱,它製作的一年,它的重量(這將在稍後發揮)
所以這是我的問題: 我建立圖表關閉,僅僅有這對每行一個大的文本文件的... actorName的movieName movieYear
我不相信我保存足夠的信息來有效地發現和創造我的演員之間的聯繫。我正在尋找一種專門解決這個問題的方法。 我正在考慮製作一個hashmap,其中的關鍵將是一個電影名稱,並且該值將是由該電影的強制轉換組成的ActorNode指針的向量。像這樣的東西可以讓我很快建立我的演員之間的聯繫,我相信。 我有點困惑,雖然我可能存儲這個數據結構。我當然不希望每個ActorNode都有一個散列表,用於我圖中所有電影的所有演員陣容。
這是不好的編程,使這樣的全局變量?
每行有什麼?校對你的問題,並閱讀https://stackoverflow.com/editing-help –
啊對不起,我輸入了它,但它一定已經編輯了它或什麼。每一行都是這樣組織的......演員姓名......電影......年份 – KoalaIsDead
請[編輯]你的帖子並修復錯誤。 **閱讀http://stackoverflow.com/editing-help**。 –