package main
//以邻接表的方式创建图import(."fmt")const MAXVEX1 =20type ArcNode struct{
adjvex int
weight int
next *ArcNode
}type VertexNode struct{
vexdata int
head *ArcNode
}type AdjList struct{
vertex [MAXVEX1]VertexNode
vexnum int
arcnum int}funcCreateAdjList(G *AdjList){
var p *ArcNode
var vex1 intvar vex2 int
weight :=0Println("请输入有向网中的顶点数和边数:")_,_=Scanf("%d %d",&G.vexnum,&G.arcnum)Printf("请输入有向网中的%d个顶点\n",G.vexnum)for i :=1; i <= G.vexnum; i++{
G.vertex[i].head =nil}for i :=1; i <= G.vexnum; i++{
Printf("第%d个顶点:\n",i)Scanf("%d",&G.vertex[i].vexdata)}Printf("请输入有向网中的%d条边\n",G.arcnum)for i :=0; i < G.arcnum; i++{
Printf("第%d条边: 顶点V1\n",i+1)Scanf("%d",&vex1)Println("<——>顶点V2")Scanf("%d",&vex2)Println("权值:")Scanf("%d",&weight)
I :=LocateVexAdjList(G,vex1)
J :=LocateVexAdjList(G,vex2)
Head1 := ArcNode{
J,weight,nil}
hhead1 :=&Head1
p = G.vertex[I]