public static void createGraph(AdjMWGraph g, Objectll v,int n, RowColWeightll rc, int e) {//static成员函数,用所给参数创建AdjMWGraph类对象g//v为结点的数据元素集合,n为结点个数,rc为边的集合,e为边的个数for(inti= 0; i<n; i++)g.insertVertex(v[iD):for(int k = O; k< e; k ++)g.insertEdge(rc[k].row, rc[k].col,rc[k].weight):1^
public static void createGraph(AdjMWGraph g, Object[] v, int n, RowColWeight[] rc, int e) { //static成员函数,用所给参数创建AdjMWGraph类对象g //v为结点的数据元素集合,n为结点个数,rc为边的集合,e 为边的个数 for(int i = 0; i < n; i ++) g.insertVertex(v[i]); for(int k = 0; k < e; k ++) g.insertEdge(rc[k].row, rc[k].col, rc[k].weight); } }
40B10C30class Exam7 1750201static void Main(stringll args)(Eint n = 5, e = 5;AdjMWGraph g = new AdjMWGraph(n):stringll a = { new string(A', 1), new string('B',1), newstring('C', 1), new string('D', 1), new string('E', 1) };RowColWeightll rcw = { new RowColWeight(0, 1, 10),new RowColWeight(0, 4, 20), new RowColWeight(1, 3, 30), newRowColWeight(2, 1, 40), new RowColWeight(3, 2, 50) };tryRowColWeight.createGraph(g, a, n, rcw, e);1catch (Exception ex)Console.WriteLine(ex.Message);人
40 A C B D E 10 20 30 50 class Exam7_1{ static void Main(string[] args){ int n = 5, e = 5; AdjMWGraph g = new AdjMWGraph(n); string[] a = { new string('A', 1), new string('B', 1), new string('C', 1), new string('D', 1), new string('E', 1) }; RowColWeight[] rcw = { new RowColWeight(0, 1, 10), new RowColWeight(0, 4, 20), new RowColWeight(1, 3, 30), new RowColWeight(2, 1, 40), new RowColWeight(3, 2, 50) }; try { RowColWeight.createGraph(g, a, n, rcw, e); } catch (Exception ex) { Console.WriteLine(ex.Message); } } }
练习1:求邻接矩阵存储的图各顶点的入度。publicvoidInDslOinti,j, n;Console.WriteLine("各顶点入度")for (j =0; j<vertices.getSizeO;j++)1n = 0;for (i= O;i<vertices.getSizeO;i++)if (edge[i, jl != 0 && edge[i, j] != maxWeight)n++;Console.Write(getValue(i));Console.WriteLine(n);1人
public void InDs1( ) { int i, j, n; Console.WriteLine("各顶点入度"); for (j = 0; j < vertices.getSize(); j++) { n = 0; for (i = 0; i < vertices.getSize(); i++) if (edge[i, j] != 0 && edge[i, j] != maxWeight) n++; Console.Write(getValue(j)); Console.WriteLine(n); } } 练习1:求邻接矩阵存储的图各顶点的入度
顶点表:V12V3V4v5V6邻接矩阵:405X87883v31N88881v61888088?81T4v5051
v1 v2 v3 v4 A v5 v6 5 8 4 9 7 5 5 6 13 邻接矩阵:A = 顶点表: ( v1 v2 v3 v4 v5 v6 ) 0 5 ∞ 7 ∞ ∞ ∞ 0 4 ∞ ∞ ∞ 8 ∞ 0 ∞ ∞ 9 ∞ ∞ 5 0 ∞ 6 ∞ ∞ ∞ 5 0 ∞ 3 ∞ ∞ ∞ 1 0 v1 v2 v3 v4 v5 v6