Rev | Line | |
---|
[122] | 1 | #include "Graf.h" |
---|
| 2 | |
---|
| 3 | /** |
---|
| 4 | * the constructor |
---|
| 5 | * |
---|
| 6 | * @param i the id |
---|
| 7 | * @param c the cost |
---|
| 8 | */ |
---|
| 9 | Nod::Nod(int i, double c) |
---|
| 10 | { |
---|
| 11 | id = i; |
---|
| 12 | cost = c; |
---|
| 13 | nr_pred = 0; |
---|
| 14 | nr_succ = 0; |
---|
| 15 | } |
---|
| 16 | |
---|
| 17 | /** |
---|
| 18 | * Method printing the node's information |
---|
| 19 | */ |
---|
| 20 | void Nod::print() |
---|
| 21 | { |
---|
| 22 | printf("[Nod id = %i cost = %lf pred{ ", id, cost); |
---|
| 23 | for(int i = 0 ; i < nr_pred ; i ++) |
---|
| 24 | printf("%i(%lf) ", ((Muchie*)predecesori[i])->predecesor->id, ((Muchie*)predecesori[i])->cost); |
---|
| 25 | printf("} succ { "); |
---|
| 26 | for(int i = 0 ; i < nr_succ ; i ++) |
---|
| 27 | printf("%i(%lf) ", ((Muchie*)succesori[i])->succesor->id, ((Muchie*)succesori[i])->cost); |
---|
| 28 | printf("}]\n"); |
---|
| 29 | } |
---|
| 30 | |
---|
| 31 | /** |
---|
| 32 | * Method adding a predecessor |
---|
| 33 | * |
---|
| 34 | * @param p the new predecessor |
---|
| 35 | */ |
---|
| 36 | void Nod::addPredecesor(void * p) |
---|
| 37 | { |
---|
| 38 | if(nr_pred == 0 ) |
---|
| 39 | predecesori = (void **)calloc(1, sizeof(void *)); |
---|
| 40 | else |
---|
| 41 | predecesori = (void **)realloc(predecesori, (nr_pred+1)* sizeof(void *)); |
---|
| 42 | predecesori[nr_pred] = p; |
---|
| 43 | nr_pred ++; |
---|
| 44 | } |
---|
| 45 | |
---|
| 46 | /** |
---|
| 47 | * Method adding a successor |
---|
| 48 | * |
---|
| 49 | * @param s the new successor |
---|
| 50 | */ |
---|
| 51 | void Nod::addSuccesor(void * s) |
---|
| 52 | { |
---|
| 53 | if(nr_succ == 0 ) |
---|
| 54 | succesori = (void **)calloc(1, sizeof(void *)); |
---|
| 55 | else |
---|
| 56 | succesori = (void **)realloc(succesori, (nr_succ+1)* sizeof(void *)); |
---|
| 57 | succesori[nr_succ] = s; |
---|
| 58 | nr_succ ++; |
---|
| 59 | } |
---|
| 60 | |
---|
| 61 | |
---|
| 62 | |
---|
| 63 | |
---|
Note: See
TracBrowser
for help on using the repository browser.