在写图的定义时
typedef struct Vnode {
prttoadjvnode firstedge;
}adjlist[10001]; /*此处*/
/*图节点定义*/
struct Gnode {
int Nv;/*顶点数*/
int Ne;/*边数*/
adjlist G; /*邻接表*/
};
在这个里面,想对标记处进行动态创建,但是最终修改不成功。
下面是失败的修改版:
/*六度空间*/
/*用邻接表,BFS,队列*/
#include<stdio.h>
#include<stdlib.h>
/*边的定义*/
typedef struct Enode* Edge;
struct Enode {
int V1, V2;
};
/*邻接点的定义*/
typedef struct Adjvnode* prttoadjvnode;
struct Adjvnode {
int adjv;
prttoadjvnode next;
};
/*顶点定义*/
typedef struct Vnode* adjlist;
struct Vnode {
prttoadjvnode firstedge;
}; /*TODO:此处需修改,建议动态分配 已修改 修改失败*/
/*图节点定义*/
struct Gnode {
int Nv;/*顶点数*/
int Ne;/*边数*/
adjlist * G ; /*邻接表*/
};
typedef struct Gnode* Lgraph;
/*队列*/
typedef struct Qnode* ptrtoQnode;
struct Qnode {
int* Data;/*data数组,*/
int front, rear;/*队列头尾指针*/