voidoutDegree(AGraph g){int num =0;
ArcNode* arc;for(int i =0; i < g.numvex; i++){
num =0;
arc = g.adjlist[i].firstarc;while(arc !=NULL){
num++;
arc = arc->nextarc;}
cout <<"顶点"<<i <<"的出度为:"<< num << endl;}}
5. 邻接表 求各个顶点的入度
voidinDegree(AGraph g){
ArcNode* p;int a[g.numvex];for(int i =0; i < g.numvex; i++){
p = g.adjlist[i].firstarc;while(p !=NULL){
a[p->adjvex]++;
p = p->nextarc;}}}
8.邻接矩阵转邻接表
voidConvert1(Mgraph g, AGraph* G){
G->numedg = g.numedg;
G->numvex = g.numvex;for(int i =0; i < g.numvex; i++){
G->adjlist[i].firstarc =NULL;}for(int i =0; i < g.numvex; i++){for(int j =0; j < g.numvex; j++){if(g.edg[i][j]!=0){
ArcNode* p =new ArcNode;
p->adjvex = j;
p->nextarc = G->adjlist[i].firstarc;
G->adjlist[i].firstarc = p;}}}}
9. 邻接表 邻接表转邻接矩阵
voidConvert(AGraph *G,Mgraph g){
g.numedg = G->numedg;
g.numvex = G->numvex;for(int i =0; i < G->numvex; i++){
ArcNode *p = G->adjlist[i].firstarc;while(p !=NULL){
g.edg[i][p->adjvex]=1;
p = p->nextarc;}}}