Buscar

Prática 3

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIVERSIDADE ESTADUAL DO SUEDOESTE DA BAHIA - UESB 
DEPARTAMENTO DE CIÊNCIAS E TECNOLOGIA – DCT 
CURSO DE SISTEMAS DE INFORMAÇÃO 
ALGORITMOS E ESTRUTURA DE DADOS I – PRÁTICA 03 
 
ATIVIDADE III 
 
1. Considere a implementação de listas encadeadas utilizando apontadores 
vista em sala. Escreva um procedimento Troca(TipoLista* pLista, 
TipoCelula* p) que, dado um apontador para uma célula qualquer (p), troca 
de posição essa célula com a sua célula seguinte da lista, como mostrado 
na figura abaixo. (Obs. Não vale trocar apenas o campo item! Você deverá 
fazer a manipulação dos apontadores para trocar as duas células de 
posição). Não esqueça de tratar os casos especiais. 
 
 
 
2. Considere a implementação de listas encadeadas utilizando apontadores 
vista em sala e responda as seguintes perguntas: Escreva uma função void 
Inverte(TipoLista *Lista) que, dada uma lista com um número qualquer de 
elementos, inverte a ordem dos elementos da lista, como exemplificado na 
figura abaixo. (Obs. Não vale trocar apenas os campos item ou usar uma 
lista / fila / pilha auxiliar! Você deverá fazer a manipulação dos apontadores 
para trocar as células de posição). 
 
 
3. Dada uma lista encadeada que armazena números inteiros escreva uma 
função que transforma a lista dada em duas listas encadeadas: a primeira 
contendo os elementos cujo conteúdo é par e a segunda contendo os 
elementos com conteúdo impares. Sua função deve manipular somente os 
apontadores e não o conteúdo das células. Exemplo: 
 
4. Dada uma lista duplamente encadeada, faça um procedimento que conte o 
número de elementos desta lista. 
 
5. Faça um programa que concatene duas listas duplamente encadeadas, 
dando origem a uma única lista com Terc. Exemplo: 
Prim Lista tem os elementos: 1, 3 e 7 
Seg Lista tem os elementos: 2 e 4 
A lista Terc será: 1, 3, 7, 2 e 4 (LEMBRANDO QUE SÃO LISTAS 
DUPLAMENTE ENCADEADAS). 
 
6. Faça um procedimento que remove todas as ocorrências do elemento x de 
uma lista duplamente encadeada.

Continue navegando