Jump to content
Fórum Script Brasil

Question

Boa noite! Minha primeira pergunta no fórum, vamos lá:

Preciso de uma ajuda para resolver este exercício, pois tento de tudo quanto é código e não imagino como resolve-lo:

 

"Considerando listas de valores inteiros, implemente uma função que receba como parâmetro uma lista encadeada e um valor inteiro n e divida a lista em duas, de tal forma que a segunda lista comece no primeiro nó logo após a primeira ocorrência de n na lista original.

Essa função deve obedecer ao protótipo: Lista*separa(Lista * l,int n);

A função deve retornar um ponteiro para a segunda subdivisão da lista original, enquanto l deve continuar apontando para o primeiro elemento da primeira subdivisão da lista."

 

Pfr me ajudem...

pfr alguém...

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

imagine que você tem uma lista com os valores:

lista->10->20->30->40->50->60->70->80->90-100->NULL

Dai você envia a essa função  a lista e o numero 50

Lista *novaLista = separa( lista, 50);

O que você deverá fazer nessa função é buscar o nó que contem o número 50 que é o nó desejado que recebeu por parâmetro. você devera fazer um laço utilizando um nóAtual para ir buscando o 50 nele, quando if (nóAtual->valor == n) que recebeu por valor você tem que fazer duas coisas.

1º é atribuir o nóAtual->seguinte a um ponteiro temporal tipo Lista:
Lista *temp = nóAtual->seguinte; //o atual é o 50 e o seguinte é o 60

Agora já temos a direção do segundo pedaço da lista, falta parti-la, para isso fazemos:
2º nóAtual->seguinte = NULL; //Nesse ponto a lista fica interrompida, você já tem 2 listas...

Agora só falta retornar a nova lista:
return temp;

Não sei se deu para entender.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      651.9k
×
×
  • Create New...