import java.util.*;
public class GraphTraverse
{
public static class Node{//边表结点
public int adjvex;//邻接点域
public Node next;//链域
}
public static class Vnode {//顶点表结点
public String vertex ;//顶点域
public Node firstedge; //头指针
}
static Vnode Adjlist[];
public static class Adjlist{
Adjlist adjlist;
}
public static void main(String args[]){
Scanner scn = new Scanner(System.in);
Adjlist=new Vnode[20];
Node no = new Node();// 生成新边表结点s
int i,j,k;
System.out.println("请输入定点数和边数:");
int a = scn.nextInt();
int b = scn.nextInt();
System.out.println("请输入顶点信息:");
for(i=0;i<a;i++){
Adjlist[i].vertex=scn.next();//读入顶点信息
Adjlist[i].firstedge=null;//头指针设空
}
System.out.println("输入边信息:(i,j)");
for(k=0;k<b;k++){
i=scn.nextInt();
j=scn.nextInt();
System.out.println("第"+k+++"条边的信息");
no.adjvex=j; // 邻接点序号为j
no.next=Adjlist[i].firstedge; // 将新边表结点no插入到顶点Vnode的边表头部
Adjlist[i].firstedge=no;
no.adjvex=i;
no.next=Adjlist[j].firstedge;
Adjlist[j].firstedge=no;
}
}
}
public class GraphTraverse
{
public static class Node{//边表结点
public int adjvex;//邻接点域
public Node next;//链域
}
public static class Vnode {//顶点表结点
public String vertex ;//顶点域
public Node firstedge; //头指针
}
static Vnode Adjlist[];
public static class Adjlist{
Adjlist adjlist;
}
public static void main(String args[]){
Scanner scn = new Scanner(System.in);
Adjlist=new Vnode[20];
Node no = new Node();// 生成新边表结点s
int i,j,k;
System.out.println("请输入定点数和边数:");
int a = scn.nextInt();
int b = scn.nextInt();
System.out.println("请输入顶点信息:");
for(i=0;i<a;i++){
Adjlist[i].vertex=scn.next();//读入顶点信息
Adjlist[i].firstedge=null;//头指针设空
}
System.out.println("输入边信息:(i,j)");
for(k=0;k<b;k++){
i=scn.nextInt();
j=scn.nextInt();
System.out.println("第"+k+++"条边的信息");
no.adjvex=j; // 邻接点序号为j
no.next=Adjlist[i].firstedge; // 将新边表结点no插入到顶点Vnode的边表头部
Adjlist[i].firstedge=no;
no.adjvex=i;
no.next=Adjlist[j].firstedge;
Adjlist[j].firstedge=no;
}
}
}