例2.2设计一个算法,将x插入到一个有序(从小到大排序)的.ppt
void MatToList(MGraph g,ALGraph *G) /*将邻接矩阵g转换成邻接表G*/ { int i,j,n=g.vexnum; ArcNode *p; /*n为顶点数*/ G=(ALGraph *)malloc(sizeof(ALGraph)); for (i=0;in;i++) /*给所有头结点的指针域置初值*/ G-adjlist[i].firstarc=NULL; for (i=0;in;i++) /*检查邻接矩阵中每个元素*/ for (j=n-1;j=0;j--) if (g.edges[i][j]!=0) { p=(ArcNode *)malloc(sizeof(ArcNode)); /*创建结点*p*/ p-adjvex=j; p-nextarc=G-adjlist[i].firstarc;/*将*p链到链表后*/ G-adjlist[i].firstarc=p; } G-n=n;G-e=g.arcnum; } (2) 在邻接表上查找相邻结点,找到后修改相应邻接矩阵元素的值。算法如下: void ListToMat(ALGra
原创力文档

文档评论(0)