package graph;
import java.util.Scanner;
/**
* @author 作者 E-mail:923861438@qq.com
* @date 创建时间:2016年10月6日 下午4:35:39
* @version 1.0
* @parameter
* @since
* @return
*/
public class Graph {
final int MAX=256;
int numVertexes;
int numEdges;
String []vex;
int acr[][];
public Graph()
{
vex=new String[MAX];
acr=new int[MAX][MAX];
}
// 建立无向网图, 给图中的 顶点内容 和 边权重 赋值
public void buildGraph(Graph g)
{
//读入顶点数和边数
System.out.println("请输入顶点数:\n");
Scanner sc=new Scanner(System.in);
numVertexes=sc.nextInt();
System.out.println("请输入边数:\n");
numEdges=sc.nextInt();
//读入顶点信息,建立顶点表
for(int i=0;i<g.numVertexes;i++)
{
System.out.print("第"+i+"个顶点信息为:");
vex[i]=sc.next();
}
//邻接矩阵初始化
for(int i=0;i<g.numVertexes;i++)
for(int j=0;j<g.numVertexes;j++)
{
g.acr[i][j]=MAX;
}
//读入边信息,建立邻接矩阵
for(int k=0;k<g.numEdges;k++)
{
System.out.println("请输入边(i,j)的下标i:\n");
int i=sc.nextInt();
System.out.println("请输入边(i,j)的下标j:\n");
int j=sc.nextInt();
System.out.println("请输入边(i,j)的权重w:\n");
int w=sc.nextInt();
g.acr[i][j]=w;
g.acr[j][i]=g.acr[i][j];
}
sc.close();
}
public void printGraph(Graph g)
{
System.out.print(" ");
for(int i=0;i<g.numVertexes;i++)
{
System.out.print(g.vex[i]+" ");
}
for(int i=0;i<g.numVertexes;i++)
{
System.out.println();
System.out.print(g.vex[i]+" ");
for(int j=0;j<g.numVertexes;j++)
{
System.out.print(g.acr[i][j]+" ");
}
}
}
public static void main(String []args)
{
Graph g=new Graph();
g.buildGraph(g);
g.printGraph(g);
}
}
<img src="https://img-blog.csdn.net/20161006205614539?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" style="font-family: Arial, Helvetica, sans-serif;" alt="" />
《-------------------------------------------转载请注明出处----------------------------------------------》