TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Estrutura De Dados - Perguntas

Dissertações: Estrutura De Dados - Perguntas. Pesquise 862.000+ trabalhos acadêmicos

Por:   •  29/10/2013  •  1.459 Palavras (6 Páginas)  •  416 Visualizações

Página 1 de 6

1) Implementar um TAD referente à lista ordenada, usando alocação dinâmica simplesmente encadeada.

a) A estrutura de dados é dada a seguir:

struct no{

int info;

Struct no* prox;

};

typedef struct no Lista;

b) Operações que o TAD deve contemplar:

. Inicializar a lista

. Verificar se lista é vazia

. Inserir um dado elemento

. Remover um dado elemento

. Tamanho: retorna o número de elementos da lista

. Iguais: recebe duas listas ordenadas e verifica se elas são iguais

. Média: retorna a média aritmética simples dos elementos da lista

. Busca: verifica se um dado valor é pertencente à lista

. Elimina: elimina todas as ocorrências de um dado elemento

. Elimina_ : elimina um elemento que está em uma dada posição definida pelo usuário

Obs.: É importante verificar se a posição é válida.

. Insere na direita: insere um dado valor à direita do -ésimo elemento da lista

Obs.: É importante verificar se a posição é válida.

. Insere na esquerda: insere um dado valor à esquerda do -ésimo elemento da lista

Obs.: É importante verificar se a posição é válida.

2) Dado duas listas dinâmicas simplesmente encadeadas (com a mesma estrutura do item 1) com ordenação,L1 e L2, crie um algoritmo que irá gerar uma terceira lista com as seguintes características:

. Inverter: recebe uma lista, L1 ou L2, e retorna uma nova lista L3, formada pelos elementos da lista recebida na ordem inversa.

. Retornar ímpares: recebe as listas L1 e L2 e retorna uma nova lista L3, formada apenas com os elementos ímpares das duas listas.

. Concatena: recebe as listas L1 e L2 e retorna uma nova lista L3 formada pela concatenação entre a lista L1 e L2.

. Conjunto intersecção: gerar uma terceira lista com a intersecção entre os números da primeira e da segunda lista.

. Intercalar: a função recebe as duas listas ordenadas e retorna a lista com os elementos das duas listas intercalados conforme a ordem com que elas se dispõe na lista, segundo exemplificado abaixo.

. Intercalar ordenadamente: o módulo recebe as duas listas ordenadas e retorna a lista com os elementos das duas listas intercalados, porém obedecendo a ordem crescente dos números.

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údos impares. Sua função deve manipular somente os apontadores e não o conteúdo das células. Exemplo:

4) Implementar o TAD lista não ordenada usando alocação dinâmica com encadeamento CÍCLICO.

A estrutura de dados é dada abaixo:

typedef struct data{

char nome[30];

float CRA;

int matricula;

} DATA;

struct no{

DATA info;

Struct no* prox;

};

typedef struct no Lista;

Operações que o TAD deve contemplar:

. Inicializar lista

. Verificar lista vazia

. Inserir novo elemento no final da lista

. Remover um dado elemento do início da lista

. Inserir em uma dada posição: insira o elemento de entrada em uma posição definida pela na entrada.

Obs.: É importante verificar se a posição é valida.

. Remove elemento de uma dada posição: remover o elemento que se encontra na posição especificada na entrada.

Obs.: Se a posição não existir na lista, retorne mensagem de falha na tela.

. Tamanho: retorna o número de elementos da lista

. Maior: retorna o valor do maior CRA da lista.

. Remover todos os alunos cujo nome começa com a letra A.

5) Implementar o TAD lista ordenada usando alocação dinâmica com encadeamento duplo. Adapte a estrutura do item 4 para este problema.

Operações que o TAD deve contemplar:

. Inicializar lista;

. Verificar lista vazia;

. Inserir um novo nodo na lista;

. Remover um nodo que contenha um dado nome;

.

...

Baixar como (para membros premium)  txt (8 Kb)  
Continuar por mais 5 páginas »
Disponível apenas no TrabalhosGratuitos.com