在这里插入代码片
voidDeletEdge(AdjListg,inti,int j){//在用邻接表方式存储的无向图g中,删除边(i,j)
p=g[i].firstarc;pre=null; //删顶点i的边结点(i,j),pre是前驱指针
while(p)
if(p->adjvex==j){
if(pre==null)
g[i].firstarc=p->next;
elsepre->next=p->next;free(p);
}//释放结点空间。
else{ pre=p;p=p->next; } //沿链表继续查找
p=g[j].firstarc;pre=null; //删顶点j的边结点(j,i),pre是前驱指针
while(p)
if(p->adjvex==i){
if( pre==null )
g[j].firstarc=p->next;
else pre->next=p->next;free(p);
}//释放结点空间。
else{ pre=p;p=p->next; } //沿链表继续查找
}
在这里插入代码片 voidDeletEdge(AdjListg,inti,int j){//在用邻接表方式存储的无向图g中,删除边(i,j) p=g[i].firstarc;pre=null; //删顶点i的边结点(i,j),pre是前驱指针 while(p) if(p->adjvex==j){ if(pre==null) g[i].firstarc=p->next; elsepre->next=p->next;free(p); }//释放结点空间。 else{ pre=p;p=p->next; } //沿链表继续查找 p=g[j].firstarc;pre=null; //删顶点j的边结点(j,i),pre是前驱指针 while(p) if(p->adjvex==i){ if( pre==null ) g[j].firstarc=p->next; else pre->next=p->next;free(p); }//释放结点空间。 else{ pre=p;p=p->next; } //沿链表继续查找 }
原文:https://www.cnblogs.com/cy13blogs/p/11779241.html