关于广度和深度搜索的思路 在上一篇文章已经说过了
如果大家对我的代码有提议以及不正确的地方 还请在文章下方评论出来~轻喷
#include <stdio.h>
#include <stdlib.h>
#define MAX_VALUE 10
typedef struct EdgeNode{//边顶点
int index;//该顶点下标
struct EdgeNode *next;//存储下一个边顶点
}EdgeNode;
typedef struct HeadNode{//表顶点
char data;
EdgeNode *edgeNode;
}HeadNode,AdjacencyList[MAX_VALUE];
typedef struct Graph{//图
AdjacencyList list;
int vexNum;//当前顶点数
int edgeNum;//当前边数
}Graph;
//找到该元素所在的下标
int locate(Graph *graph,char ch){
int i ;
for(i = 0;i<graph->vexNum;i++){
if(graph->list[i].data==ch)
return i;
}
return -1;
}
//构造邻接表图
Graph *createGraph(){
Graph *graph;
char ch;
graph = (Graph*)malloc(sizeof(Graph));
graph->edgeNum = 0;
graph->vexNum = 0;
printf("输入顶点回车退出输入\n");
while((ch=getchar())!='\n'){
//构造顶点表