void CreatGraph(Graph& graph, City*& city, Route*& route) { int i, j; graph.arcs = new Route * [199]; for (int i = 0; i < 199; ++i) { graph.arcs[i] = new Route[199]; } graph.vexs = new City[199]; graph.arcnum = 1975; graph.vexnum = 199;
时间: 2024-04-27 17:23:47 浏览: 88
数据结构教学课件:Chapter Seven Graph.ppt
这段代码实现了一个创建图的函数,其中 Graph 是一个图的数据结构,包括节点和边,City 是一个城市信息的结构体,Route 是一条路线信息的结构体。具体来讲,这段代码的作用是:
1. 创建一个邻接矩阵,存储图的边信息。具体来说,使用二维数组 graph.arcs 存储每条边的信息,其中 graph.arcs[i][j] 表示节点 i 到节点 j 的边信息,包括起点、终点、长度等。
2. 创建一个节点数组 graph.vexs,存储图的节点信息。具体来说,graph.vexs[i] 存储节点 i 的信息,包括节点名称、坐标等。
3. 初始化图的节点数 graph.vexnum 为 199,边数 graph.arcnum 为 1975。
需要注意的是,这段代码中使用了动态内存分配,通过 new 运算符在堆区分配内存空间,避免了静态数组空间不够用的问题。但是在使用完毕后,应该使用 delete 运算符释放动态内存,避免内存泄漏的问题。
阅读全文