Ed1 - algoritmos
MAS VOCE PRECISA COMEÇAR A TENTAR se não nunca vai descobrir onde tem dificuldade, nem vai saber se ta no caminho certo nem nada entao da mais uma olhada no exercicio comentado que te mandei de ponteiro, se vc entender ele da pra ter uma boa noção, ja da pra vc fazer esses exercicios de lista etc
:)
(to puxando sua orelha pq nao quero fazer ED2 sozinha :( kkkk *-*)
Lista* separa (Lista* l, int n) // essa é a assinatura da função que ele passou
//essa Lista é uma struct que tem um inteiro info, e um ponteiro prox Lista* p = l;//sempre criar uma lista auxiliar para nao mecher na lista original Lista* t = l;//outra lista auxiliar; if(n==t.info){ p=t.prox; t.prox=NULL; return t;} else{ while(p.info!=NULL) t=p.prox; //esse foi o primeiro codigo, e o que deve ta mais errado //nem eu entendi direito o que eu fiz (por isso vc tem qe tentar fazer...) Lista* concatena (Lista* l1, Lista* l2){ //assinatura da função que o professor passou
//recebe duas listas como parametro, e retorna uma lista :)
Lista* p = l1; //variavel para nao alterar a lista original if (l1==NULL && l2!=NULL) return l2; if(l1!=NULL && l2==NULL) return l1; if(l1==NULL && l2==NULL) return NULL; //até agora só tratei as entradas, caso alguma lista fosse vazia :) while(p.prox!=NULL) p=p.prox;//percorre a lista enquanto não chegar no ultimo elemento //quando chegar no ultimo elemento ele sai do while, entao p.prox do ultimo elemento //aponta pro primeiro elemento da segunda lista p.prox=l2; return l1;//o codigo esta certo, eu só nao