数据结构(C语言)问题
CreatGraph(intn,VNodeG[]){inti,e;ArcNode*p,*q;printf("Inputtheinformationofthevertex\...
CreatGraph(int n , VNode G[] ){ int i,e; ArcNode *p , *q; printf("Input the information of the vertex\n"); for(i=0;i<n;i++){ scanf("%d",&G[i]); G[i].firstarc = NULL; /*初始化第一条边为空*/ } for(i=0;i<n;i++){ printf("Creat the edges for the %dth vertex\n",i) ; scanf("%d",&e); while(e!=-1){ p = (ArcNode *)malloc(sizeof(ArcNode)); /*创建一条边*/ p->next = NULL; p->adjvex = e; if(G[i].firstarc == NULL) G[i].firstarc = p; /*i结点的第一条边*/ else q->next = p; /*下一条边*/ q = p; scanf("%d",&e); } }}这是邻接表的部分代码。为什么创建边时要p要malloc(对应 p = (ArcNode *)malloc(sizeof(ArcNode)); ),而q直接用就行?
这是邻接表的部分代码。为什么创建边时p要malloc(对应 p = (ArcNode *)malloc(sizeof(ArcNode)); ),而q直接用就行? 展开
这是邻接表的部分代码。为什么创建边时p要malloc(对应 p = (ArcNode *)malloc(sizeof(ArcNode)); ),而q直接用就行? 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询