Jump to content

Ajuda em função recursiva


DFPA46
 Share

Recommended Posts

Boas, gostaria que me ´´iluminassem´´ relativamente á seguinte função recursiva pois não consigo passar daqui. é uma lista e está a ser percorrida do inicio para o fim, mas quero que tbm leia do fim para o inicio. o codigo que tenho é o seguinte:


struct t_listaPalavras {

  t_palavra *p;

  struct t_listaPalavras *prox;

};




void recursiva(t_listaPalavras *lp)


  t_listaPalavras *aux;
  

  while(lp != NULL){

aux=lp->prox;

recursiva(lp);

lp=aux;  }



  return;

}

Agradeço desde já a ajuda.

DFPA46

Link to comment
Share on other sites

Estás a chamar a função recursiva sempre com o mesmo ponteiro. Seria suposto que enviasses o aux e não o lp para a próxima chamada recursiva. Para além disso tens um ciclo while numa função recursiva, que chama a função recursiva. Ou seja, não só estás a chamar a função recursiva infinitamente, como a estás a repetir várias vezes.

“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Link to comment
Share on other sites

Nao podes ter uma lista simplesmente ligada (single-linked list), tens de ter uma lista duplamente ligada (double-linked list).

Este artigo da Wikipedia (em ingles) pode-te ajudar.

Basicamente cada elemento da lista, alem de apontar para o seguinte, aponta tambem para o anterior.

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.