#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 lists;
int vexNum;//当前顶点数
int edgeNum;//当前边数
}Graph;
//找到该元素所在的下标
int locate(Graph *graph,char ch){
int i ;
for(i = 0;i<graph->vexNum;i++){
if(graph->lists[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'){
//构造顶点表
graph->lists[graph->vexNum].data = ch;
graph->lists[graph->vexNum].edgeNode = NULL;
graph->vexNum++;
prin
C语言实现图的邻接表的创建以及深度搜索和广度搜索
最新推荐文章于 2023-11-17 16:25:19 发布