本文共 1413 字,大约阅读时间需要 4 分钟。
【样例输入】
3 3
a b c
a b
a c
b c 【样例输出】
a 0 2
b 1 1
c 2 0
#includeusing namespace std; #define MAX_VERTICES 50 /* 顶点最大数 */ #define ElementType char /* 元素的数据类型 */ typedef struct node { ElementType vertex; struct node *next; }NodeType,*NodePointer; typedef struct { ElementType v; NodePointer next;}GPointer; GPointer graph[MAX_VERTICES]; int vertices; int edge;void CreateGraph(){ ElementType ch,ch2; NodePointer pnew, pnode; pnew = pnode = NULL; for(int i = 0; i >graph[i].v; graph[i].next = NULL; } for(int i = 0; i < edge; i++){ cin>>ch>>ch2; pnew = new NodeType(); pnew->vertex = ch2; pnew->next = NULL; for(int j = 0; j next != NULL){ pnode = pnode->next; } pnode->next = pnew; } } } } int outdegree(int n){ int outd = 0; NodePointer np = graph[n].next; while(graph[n].next != NULL){ if(np->next == NULL) { outd++; break; }else{ outd++; np = np->next; } } return outd;}int indegree(int n){ int ind = 0; for(int i = 0;i vertex == graph[n].v){ ind++; break; } np = np->next; } } return ind;}int main(){ // cout<<"输入"< >vertices>>edge; CreateGraph(); for(int i = 0; i