吉林大学数据结构--图的深度优先遍历,图的广度优先遍历,图的创建(邻接表)

#include <stdio.h>
#include <stdlib.h>
typedef struct edge{
int veradj;
int cost;
struct edge*link;
}edge;
typedef struct head{
int vername;
edge*adjacent;
}head;

edge*creatnode(edge*p,int c,int a){//创建顶点
p=(edge*)malloc(sizeof(edge));
p->veradj=c;
p->cost=a;
p->link=NULL;
return p;
}
head*build(int n,head*headt[]){//创建邻接图
int i=0;
for(i=0;i<n;i++)
{headt[i]=(head*)malloc(sizeof(head));
headt[i]->vername=i;
headt[i]->adjacent=NULL;}
int c;int cost;
edge*p,*q;
for(i=0;i<n;i++)
{
scanf("%d%d",&c,&cost);
while(c!=-1){
p=creatnode(p,c,cost);
if(headt[i]->adjacent==NULL)
      {headt[i]->adjacent=p;
      q=p;}
      else{
         &

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值