对于用邻接表储存有向图或无向图,基于深度优先遍历算法生成树和生成森林,储存在孩子兄弟链表中:
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#define MAXVERTEXNUM 100
typedef char VertexType;
typedef int EdgeType;
typedef char DataType;
typedef char ElemType;
typedef struct Edgenode{
int adjvex;
struct Edgenode *next;
DataType *info;
}Edgenode;
typedef struct VertexNode{
VertexType vertex;
Edgenode *firstedge;
}VertexNode;
typedef VertexNode Adjlist[MAXVERTEXNUM+1];
typedef struct{
Adjlist adjlist;
int n,e;
}ALGraph;
typedef st