Você está na página 1de 2

Exerccios Estrutura de Dados II Prof.

Gale
1.) Considerando listas de valores inteiros, implemente uma funo que receba como parmetro 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 aps a primeira ocorrncia de n na lista original. A figura a seguir ilustra essa separao

!ssa funo deve obedecer ao prottipo

A funo deve retornar um ponteiro para a segunda sub"diviso da lista original, enquanto l deve continuar apontando para o primeiro elemento da primeira subdiviso da lista. #.) Considere estruturas de listas encadeadas que arma$enam valores reais. % tipo que representa um n da lista & dado por

'mplemente uma funo que, dadas duas listas encadeadas l1 e l#, concatene a lista l# no final da lista l1, conforme ilustra a figura abai(o

A funo deve retornar a lista resultante da concatenao, obedecendo ao prottipo Lista* concatena (Lista* l1, Lista* l2) %bserve que l1 e)ou l# podem ser listas va$ias. *.) Considere estruturas de listas encadeadas que arma$enam valores inteiros. % tipo que representa um n da lista & dado por struct lista + int info, struct lista- pro(, .,

t/pedef struct lista 0ista, 'mplemente uma funo que receba um vetor de valores inteiros com n elementos e construa uma lista encadeada arma$enando os elementos do vetor nos ns da lista. Assim, se for recebido o vetor v123 4 +*, 5, 1, 6, #., a funo deve retornar uma nova lista cu7o primeiro n tem a informao *, o segundo a informao 5, e assim por diante. 8e o vetor tiver $ero elementos, a funo deve ter como valor de retorno uma lista va$ia. % prottipo da funo & dado por Lista* constri (int n, int* v) 9.) Considere a implementao de uma lista encadeada que arma$enam valores reais.

'mplemente uma funo que, dados uma lista encadeada e um n:mero inteiro no negativo n, remova da lista seus n primeiros ns e retorne a lista resultante. Caso n se7a maior do que o comprimento da lista, todos os seus elementos devem ser removidos e o resultado da funo deve ser uma lista va$ia. !ssa funo deve obedecer o seguinte prottipo Lista* retira_prefixo (Lista* l, int n) 2.) Considere uma lista simplesmente encadeada que arma$ena os seguintes dados de alunos de uma disciplina ;:mero de matricula n:mero inteiro ;ome com at& 5< caracteres =edia da disciplina n:mero de ponto flutuante

a) considerando que o tipo que representa um n da lista & dado por typedef struct lista Lista; >efina a estrutura denominada lista que conten?a os campos apropriados para guardar as informa@es de um aluno na lista, conforme descrito acima. b) implemente uma funo que insira, em ordem crescente de n:mero de matrAcula, os dados de um novo aluno na lista. !ssa funo deve obedecer o seguinte prottipo, retornando o ponteiro para o primeiro elemento. Lista* ins_ordenado (Lista* l, int mat, char *nome, float nota)

Boa orte!!!

Você também pode gostar