摘要: /* 求无向图G的连通分量个数 dfs运用 */ void DFS(Graph G,int v){ ENode *p; visited[v]=true; visit(t); p=G->adjList[v].firstarc; while(p!=null){ if(visited[p->adjvex] 阅读全文
posted @ 2019-12-26 13:45 ZzUuOo666 阅读(519) 评论(0) 推荐(0) 编辑
摘要: //输出图G从顶点u 到 v 的所有简单路径 void Allpath(Graph G,int u,int v,int m,int path[],int i){//m记录每一个顶点的下一个邻接点,i初值为0 ENode *p; int j,n; if(m==v){ for(j=0;j<=i;j++) 阅读全文
posted @ 2019-12-26 10:42 ZzUuOo666 阅读(583) 评论(0) 推荐(0) 编辑
摘要: //邻接表 互换 矩阵 //邻接矩阵-》邻接表 void MatrixToList(Graph &G,int A[][]){ for(int i=0;i<G.vertices;i++){ adjList[i].firstarc=null; } for(int i=0;i<G.vertices;i++ 阅读全文
posted @ 2019-12-26 10:36 ZzUuOo666 阅读(283) 评论(0) 推荐(0) 编辑
摘要: //顶点的度 //邻接表 int count_Degree(Graph G,int v){ int count=0; ENode *p; for(p=adjList[v].firstarc;p!=null;p=p->nextarc){ count++; }//出度 for(int i=0;i<G.v 阅读全文
posted @ 2019-12-26 10:29 ZzUuOo666 阅读(322) 评论(0) 推荐(0) 编辑
摘要: //顺序表中,删除所有元素值为k的元素 O(n) O(1) void Delete(Sqlist &L,int k){ int num=0; int i=0,j=0; while(j<=L->length-1){ if(L->data[j]!=k){ L->data[i++]=L->data[j++ 阅读全文
posted @ 2019-12-26 10:28 ZzUuOo666 阅读(302) 评论(0) 推荐(0) 编辑
摘要: //逆置不带头结点的单循环链表,有尾指针 void invert(LinkList &head){ LNode *p,*a,*r; p=head->next; q=p->next; p->next=head; while(p!=head){ r=q->next; q->next=p; p=q; q= 阅读全文
posted @ 2019-12-26 10:24 ZzUuOo666 阅读(385) 评论(0) 推荐(0) 编辑