[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Dúvida !!
Marcos Lemos writes:
> Professor (ou outro membro da lista),
>
> Não entendi a seguinte passagem do programa de ordenação topológica:
>
> ptr->id = el (j);
> el (j)->g_entr++;
> ptr->prox_suc = el (i)->topo_suc;
> el (i)->topo_suc = ptr;
Tenho a impressão de que voce esta lendo o codigo em C. De fato, na versão C
não há comentários, mas em todas as outras versões há explicações. Vale a
pena ler o código em PostScript, dvi, ou pdf.
Em último caso, você pode ler o programa em CWEB:
/********************************************************************/
@ Queremos agora registrar em nossa estrutura de dados que temos~$i\prec j$.
@d el(k) (els+k-1)
@<Insira o par $(i,j)$ em nossa estrutura de dados@>={@+
struct sucessor *ptr;
ptr=(struct sucessor *)malloc(sizeof(struct sucessor));
if (ptr==NULL) { /* faltou memória... */
status=erro_na_alocacao_de_memoria;
fprintf(stderr, "%s: Faltou memoria!\n", nome_do_prog);
exit(status);
}
ptr->id=el(j);
el(j)->g_entr++; /* incrementamos o contador de arcos de entrada para |j| */
ptr->prox_suc=el(i)->topo_suc;
el(i)->topo_suc=ptr;
/* inserimos o elemento |j| na lista de sucessores de |i| */
}
/********************************************************************/
Note que a versão C está lá só para a gente ver concretamente que o programa
em CWEB é usado para gerar um código C normal, que depois deve ser compilado
com algum compilador C.
Boa sorte! Yoshi
> Pelo que percebi, ela parece estar armazenando em ptr o par de valores
> digitados em cada uma das linhas do arquivo de entrada... Estou certo ?
> Bem, gostaria de mais explicações sobre esta passagem...
>
> Falou!!!
>
> Lemos
- References:
- Dúvida !!
- From: Marcos Lemos <mlemos@alpha.hydra.com.br>