怎么理解建立无向图邻接表插入节点v1,v2的C程序代码部分,最好画图分析?

默认分类 | 2018-11-20 19:50:03 | 阅读 100 次 | 评论(0)

求大神帮助!

数据结构中用C语言写的的建立无向图的邻接表部分代码

问题:  怎么理解建立无向图邻接表插入节点v1,v2的C程序代码部分,最好画图分析?

          插入节点V1,v2的代码部分应该怎样理解,有点困惑

//建立无向图邻接表的部分源代码

typedef struct node
{
int adjvex;
struct node *next;
}ARC;
typedef struct vex
{
int vertex;
ARC *first;
 }VEX;
 VEX adj[100];
 
 
 int create()
 {
 ARC *p;
 int arcnum,vexnum,k,v1,v2;
 printf("请输入顶点数和变数(输入格式为:顶点数,边数)")
 scanf("%d,%d",&vexnum,&arcnum);
 for(k=1;k<=vexnum;k++)
 adj[k].first=0;
 for(k=0;k<arcnum;k++)
 {
  printf("v1,v2=");
  scanf("%d,%d",&v1,&v2);
  p=(ARC *)malloc(sizeof(ARC));//疑问开始部分行
  p->adjvex=v2;
  p->next=adj[v1].first;
  adj[v1].first=p;
  p=(ARC *)malloc(sizeof(ARC));
  p->adjvex=v1;
  p->next=adj[v2].first;
  adj[v2].first=p;  //疑问结束结束部分行
  }
  return (vexnum);
  }
 
 
```
 
```


          
文章评论,共0条
游客请输入验证码
文章分类
最新评论
  • 编程中国403:求大侠相助,在这里先多谢了!