Re: [課程] 單班計程作業 12
另外再補上一些可能碰到的問題:
find_friends 可能會給你一些之前沒有加過的點,這時要回傳 -1
你在開 array 時想要用 array[500] 的話要記得開 501
// 通常多開個 5 到 10 是省事的做法
還不行的同學可以測測下面的程式碼:
#include<stdlib.h>
#include<stdio.h>
#include"graph.h"
void print_friends(Graph *g, int node){
int friends[500];
int i, n;
n = find_friends(g, node, friends);
printf("%3d has %3d friends:", node, n);
for(i=0; i<n; i++)
printf(" %d", friends[i]);
printf("\n");
}
void print_add_node(Graph *g, int node){
int a = add_node(g, node);
printf("add_node %3d returns %2d\n", node, a);
}
void print_add_edge(Graph *g, int u, int v){
int a = add_edge(g, u, v);
printf("add_edge (%3d, %3d) returns %2d\n", u, v, a);
}
int main(){
Graph *g = (Graph*) malloc(sizeof(Graph));
init(g);
print_add_node(g, 500);
print_add_node(g, 499);
print_add_edge(g, 500, 499);
print_friends(g, 500);
print_add_node(g, 499);
print_add_node(g, 498);
print_add_edge(g, 499, 498);
print_friends(g, 500);
}
請視自己的需要調整 main 函數裡的呼叫
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.217.38
※ 編輯: realturner 來自: 140.112.217.38 (12/12 09:35)
討論串 (同標題文章)
完整討論串 (本文為第 2 之 3 篇):
課程
3
3