阅读下面的算法,简述算法的功能。
图的邻接表存储结构的类型定义如下:
#defineUNVISITED0
#defineVISITED1
#defineINFINITY MAXINT//计算机允许的整数最大值,即∞
typedef char Vex Type;
typedefenum {DG,DN,UDG,UDN}GraphKind;// 有向图,有向网,无向图,无向网
typedef struct AdjVexNode {
intadjvex;//邻接顶点在顶点数组中的位序
structAdjVexNode *next;//指向下一个邻接顶点(下一条边或弧)
intinfo;//存储边(弧)相关信息,对于非带权图可不用
} AdjVexNode,*AdjVexNodeP;//邻接链表的结点类型
typedef struct VexNode {
VexType data;//顶点值,VexType是顶点类型,由用户定义
struct AdjVexNode*firstArc;//邻接链表的头指针
} VexNode;// 顶点数组的元素类型
typedef struct {
VexNode*vexs;//顶点数组,用于存储顶点信息
int n, e;//顶点数和边(弧)数
GraphKind kind;//图的类型
int *tags;//标志数组
} ALGraph;//邻接表类型
int f62(ALGraph G, int k)
{
int num; num=0;
AdjVexNodeP p;
if(k<0 || k>=G.n) return -1;
p = G.vexs[k].firstArc;
while(p!=NULL) {
p=p->next;num++;
}
return num;
}
查看答案和解析【26考研辅导课程推荐】:26考研集训课程,VIP领学计划,26考研VIP全科定制套餐(公共课VIP+专业课1对1) , 这些课程中都会配有内部讲义以及辅导书和资料,同时会有教研教辅双师模式对大家进行教学以及督学,并配有24小时答疑和模拟测试等,可直接咨询在线客服老师领取大额优惠券。
启航教育热门私房课
MORE小班面授 名额有限 抢先体验
编辑推荐
最新内容