习题-36.c

来自「这个是数据结构经典实现算法」· C语言 代码 · 共 31 行

C
31
字号
//本程序只给出了算法思想
//读者可以自己完善本程序

Status Delete_Arc(AMLGraph &G,char v,char w)//在邻接多重表表示的图G上删除边(v,w)
{
	if((i=LocateVex(G,v))<0) 
		return ERROR;
	if((j=LocateVex(G,w))<0) 
		return ERROR;
	if(G.adjmulist[i].firstedge->jvex==j)
		G.adjmulist[i].firstedge=G.adjmulist[i].firstedge->ilink;
	else
	{
		for(p=G.adjmulist[i].firstedge;p&&p->ilink->jvex!=j;p=p->ilink);
		if (!p) return ERROR; //未找到
		p->ilink=p->ilink->ilink;
	} //在i链表中删除该边
	if(G.adjmulist[j].firstedge->ivex==i)
		G.adjmulist[j].firstedge=G.adjmulist[j].firstedge->jlink;
	else
	{
		for(p=G.adjmulist[j].firstedge;p&&p->jlink->ivex!=i;p=p->jlink);
		if (!p) return ERROR; //未找到
		q=p->jlink;
		p->jlink=q->jlink;
		free(q);
	} //在i链表中删除该边
	G.arcnum--;
	return OK;
}//Delete_Arc

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?