图的广度优先遍历.c

时间:2014-09-20 03:25:25
【文件属性】:

文件名称:图的广度优先遍历.c

文件大小:4KB

文件格式:C

更新时间:2014-09-20 03:25:25

广度优先

图的广度优先遍历。c语言 VEXNODE adjlist[MAX_VEX]; /*定义头结点数组*/ int creatadjlist() /*建立邻接表*/ { ARCNODE *ptr; int arcnum,vexnum,k,v1,v2; printf("请输入顶点数和边数(输入格式为:顶点数,边数):"); scanf("%d,%d",&vexnum,&arcnum); /*输入图的顶点数和边数(弧数)*/ for(k=1;k<=vexnum;k++) adjlist[k].firstarc=0; /*为邻接链表的adjlist数组各元素的链域赋初值*/ for(k=0;kadjvex=v2; /*将顶点v2插入到链表中,使得结点插入后单链表仍然有序*/ ptr->next=adjlist[v1].firstarc; adjlist[v1].firstarc=ptr; /*将邻接点V2 插入表头结点V1 之后*/ /*对于有向图,接下来的四行语句要删除*/ ptr=(ARCNODE*)malloc(sizeof(ARCNODE)); /*给结点V2 的相邻接结点V1 分配内存空间*/ ptr->adjvex=v1; /*将顶点v1插入到链表中,使得结点插入后单链表仍然有序*/ ptr->next=adjlist[v2].firstarc; adjlist[v2].firstarc=ptr; /*将邻接点V1 插入表头结点V2之后*/ } return(vexnum); }


网友评论