[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: freq_ABB



Yoshiharu Kohayakawa wrote:

> Tiago M. Silveira writes:
>  > Algumas perguntas sobre o freq_ABB que talvez valham para o freq também.
>  >
>  > 1. Observe:
>  >
>  > #define o n_comp++
>  > /* e em outro ponto do programa */
>  > if (o, (comp_res = strcmp(s, p->palavra )) < 0)
>  >
>  > Há necessidade ou algum benefício
>
> A construcao amarra bem (do ponto de vista estilistico) a comparacao e o
> incremento do n_comp.
>
>  > em usar essa construção ou eu poderia
>  > escrever direto n_comp++ dentro do IF?
>
> Dentro do if nao seria bom, pois o incremento ocorreria só quando a comparacao
> desse < 0!

Não, acho que eu me expressei mal. Queria saber se posso usar:

if (n_comp++, (compres = strcmp(s, p->palavra)) < 0)

>  > 2. Não entendi bem o processo que cria um nó novo:
>  >
>  > s_aux = (char *) malloc(strlen (s) + 1);
>  > strcpy(s_aux, s);
>  > t->palavra = s_aux;
>  >
>  > Não poderia usar t->palavra direto no lugar de s_aux, ja que os dois são
>  > do mesmo tipo e vão acabar apontando para a mesma cadeia?
>
> Eles nao apontam para a "mesma" cadeia.  Fazemos uma copia de s em s_aux.
> Isto é importante, como acredito que mencionei em sala.  Caso não fizéssemos
> uma copia de s, quando fizéssemos a leitura da proxima palavra (em s!)
> perderiamos a palavra lida anteriormente.

Tudo bem, desde que ela esteja armazenada em t->palavra, não?

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Tiago Minchillo da Silveira
Kiron Multimídia - http://www.kiron.com.br
Homepage pessoal em construção!!! Em breve divulgo o endreço.
Nick no IRC/ICQ: Duke Jeffrie - UIN: 9350490
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~