ptno* esvazia(ptno **tree){
    if(*tree!=NULL){
        esvazia(&(*tree)->esq);
        esvazia(&(*tree)->dir);
        desaloca_no(tree);
        *tree=NULL;
    }
}
Пример #2
0
void bfs(grafo *g,int s,Fila *f){
    int u,i;
    g->cor[s]=cinza;
    g->dist[s]=0;
    esvazia(f);
    insere(f,s);

    while(!vazia(f)){
       u=retira(f);
       for(i=0;i<g->tam;i++){
            if(g->A[u][i]!=0 && g->cor[i]==branco){
                g->cor[i]=cinza;
                g->dist[i]=g->dist[u]+1;
                g->pred[i]=u;
                insere(f,i);
            }
       }

       g->cor[u]=preto;

    }

}
Пример #3
0
void freeFila(Fila f){
    esvazia(f);
    free(f);
}