【发布时间】:2020-09-22 12:47:43
【问题描述】:
我在使用邻接矩阵的图形实现方面遇到问题。作为一个小背景,我必须从一个文件中读取每行包含一个演员、他们出演的电影以及制作年份的文件。我的工作是从文件中创建一个图表。然后,该图将由演员的顶点组成,这些演员的边缘关系是他们一起出演了同一部电影。在文件中,演员是顶点,电影和出版年份是边。
我找到了一种将顶点存储在 std::vector 中的方法,并且还创建了一个名为 MovieInformation 的 struct 来存储 string movieName 和 int movie year。这些也存储在vector< pair< int,MovieInformation>> 中。
但是,我不知道如何将信息插入vectors,以使演员和他们主演的电影的信息保持在一起。
来自文件的示例输入是:
亚历克斯·威尔 1984 年停止讲道理 史蒂文·斯卡尔斯 1984 年不再讲道理 鲁本·布莱兹无组织犯罪 1989 霍伊特阿克斯顿无组织犯罪 1989 Fred Gwynne 无组织犯罪 1989而输出将是
(演员)--[电影#@year]-->(演员)--...至于代码部分,除了上面的解释,没有太多写的。
【问题讨论】:
-
您至少需要发布到目前为止的代码。还有示例文件。
-
您还应该提供您希望成为您的程序结果的示例
-
我在上面更新了
-
pair中的int是什么?要将演员与电影联系起来,您可以将演员的姓名存储在结构中。那真的很简单,但不能很好地扩展。稍后,您可能需要一个演员表和对结构中演员表中演员条目的引用。尝试通过绘画来形象化这些关系。 -
是的 int 是用来确定两个顶点是否有共同的边使得 matrix[x][y] == 1 或 0
标签: c++ graph adjacency-matrix undirected-graph