• Nenhum resultado encontrado

1. O que significa alocac¸ ˜ao sequencial de mem ´oria para um conjunto de elementos?

N/A
N/A
Protected

Academic year: 2022

Share "1. O que significa alocac¸ ˜ao sequencial de mem ´oria para um conjunto de elementos?"

Copied!
3
0
0

Texto

(1)

Universidade Federal de Uberl ˆandia - UFU Faculdade de Computac¸ ˜ao - FACOM

Lista de exerc´ıcios de estrutura de dados em linguagem C

Exerc´ıcios: Listas

1. O que significa alocac¸ ˜ao sequencial de mem ´oria para um conjunto de elementos?

2. O que significa alocac¸ ˜ao est ´atica de mem ´oria para um conjunto de elementos?

3. Qual a diferenc¸a entre alocac¸ ˜ao seq ¨uencial e alocac¸ ˜ao encadeada?

4. Quais as vantagens de se utilizar alocac¸ ˜ao encadeada para um conjunto de elementos?

Quais as poss´ıveis desvantagens?

5. Qual a diferenc¸a entre alocac¸ ˜ao est ´atica e alocac¸ ˜ao din ˆamica?

6. Fac¸a uma func¸ ˜ao para concatenar duas listas em uma terceira lista que dever ´a ser retor- nada pela func¸ ˜ao. N ˜ao use func¸ ˜oes j ´a implementadas.

7. Fac¸a uma func¸ ˜ao para remover os n primeiros elementos de uma lista. A func¸ ˜ao deve retornar se a operac¸ ˜ao foi poss´ıvel ou n ˜ao.

8. Fac¸a uma func¸ ˜ao para buscar a posic¸ ˜ao e o valor do maior elemento da lista, os quais dever ˜ao ser retornados por refer ˆencia. A func¸ ˜ao deve retornar se a operac¸ ˜ao foi poss´ıvel ou n ˜ao.

9. Fac¸a uma func¸ ˜ao para trocar de posic¸ ˜ao dois elementos de uma lista. A func¸ ˜ao deve retornar se a operac¸ ˜ao foi poss´ıvel ou n ˜ao.

10. Considere que a struct abaixo est ´a armazenada na sua lista. Fac¸a uma func¸ ˜ao para buscar o produto de menor prec¸o. A func¸ ˜ao deve retornar se a operac¸ ˜ao foi poss´ıvel ou n ˜ao.

struct produto{

int codProd; //c´ odigo do produto char nomeProd[10]; //nome do produto float valor; //valor do produto

int qtdeEstoque; //quantidade dispon´ ıvel em estoque }

11. Considere uma lista contendo n ´umeros inteiros positivos. Fac¸a uma func¸ ˜ao que retorne quantos n ´umeros pares existem na lista.

12. Considere uma lista contendo n ´umeros inteiros positivos. Fac¸a uma func¸ ˜ao que retorne uma nova lista contendo apenas os n ´umeros pares da lista.

13. Considere uma lista contendo n ´umeros inteiros positivos. Fac¸a uma func¸ ˜ao que retorne a m ´edia da lista.

14. Um pol´ıgono geom ´etrico pode ser considerado como uma lista de v ´ertices. Para dese- nhar tal pol´ıgono, basta trac¸ar uma reta ligando v ´ertices adjacentes. Projete um TAD para armazenar esse pol´ıgono (defina as operac¸ ˜oes necess ´arias). Considere a necessidade de desenhar um pol´ıgono, eliminar arestas e incluir novas arestas

1

(2)

15. Fazer uma func¸ ˜ao para verificar se uma lista est ´a ordenada ou n ˜ao (a ordem pode ser crescente ou decrescente).

16. Fazer uma func¸ ˜ao que copia uma lista L1 em uma outra lista L2.

17. Fazer uma func¸ ˜ao que copia uma lista L1 em outra L2, eliminando os elementos repeti- dos.

18. Fazer uma func¸ ˜ao para inverter uma lista L1 colocando o resultado em L2.

19. Fazer uma func¸ ˜ao que realiza o merge de duas listas ordenadas.

20. Considerando listas de valores inteiros, implemente uma func¸ ˜ao que receba como par ˆametro uma lista e um valor n e divida a lista em duas, de tal forma que a segunda lista comec¸a no primeiro n ´o ap ´os o valor n. A func¸ ˜ao deve retornar a segunda lista.

21. Escreva uma func¸ ˜ao que crie uma lista encadeada a partir de um vetor.

22. Escreva uma func¸ ˜ao que copie uma lista encadeada para um vetor.

23. Escreva uma func¸ ˜ao que concatena duas listas encadeadas (isto ´e, “amarra” a segunda no fim da primeira) e retorna um ponteiro para a lista concatenada. As listas originais n ˜ao devem ser alteradas.

24. Escreva uma func¸ ˜ao que verifica se duas listas dadas s ˜ao iguais (mesmo conte ´udo) 25. Escreva uma func¸ ˜ao que inverte a ordem das c ´elulas de uma lista encadeada (a primeira

passa a ser ´ultima, segunda passa a ser pen ´ultima etc.). Fac¸a isso sem usar espac¸o auxiliar; apenas altere os ponteiros.

26. Dadas duas listas encadeadas e din ˆamicas L1 e L2, implemente a operac¸ ˜ao UNION, que cria uma terceira lista L3 com a uni ˜ao entre as duas listas.

27. Dadas duas listas encadeadas e din ˆamicas L1 e L2, sem elementos repetidos, imple- mente a operac¸ ˜ao INTER, que cria uma terceira lista L3 com a intersecc¸ ˜ao entre as duas listas, tamb ´em sem elementos repetidos

28. Seja uma lista din ˆamica e encadeada com elementos repetidos, implemente uma rotina para eliminar todos as ocorr ˆencias de X da lista.

29. Implemente uma rotina recursiva para calcular o tamanho de uma lista din ˆamica e enca- deada.

30. Implemente uma func¸ ˜ao n ˜ao recursiva para verificar se duas listas din ˆamicas e encade- adas s ˜ao iguais.

31. Implemente uma func¸ ˜ao recursiva para verificar se duas listas din ˆamicas e encadeadas s ˜ao iguais.

2

(3)

32. Fac¸a uma func¸ ˜ao recursiva para imprimir uma lista encadeada

33. Seja uma lista encadeada cujos registros possuam informac¸ ˜ao do tipo inteiro. Escreva um programa que ordena a lista em ordem crescente em relac¸ ˜ao `a informac¸ ˜ao.

34. Dada uma lista encadeada que armazena n ´umeros inteiros, escreva uma func¸ ˜ao que transforma a lista dada em duas listas encadeadas: a primeira contendo os elementos cujo conte ´udo ´e par e a segunda contendo os elementos com conte ´udos impares 35. Fac¸a uma func¸ ˜ao para intercalar listas: a func¸ ˜ao recebe as duas listas ordenadas e

retorna a lista com os elementos das duas listas intercalados conforme a ordem com que elas se disp ˜oe na lista.

36. Fac¸a uma func¸ ˜ao para intercalar listas ordenadamente: a func¸ ˜ao recebe as duas lis- tas ordenadas e retorna a lista com os elementos das duas listas intercalados, por ´em obedecendo a ordem crescente dos n ´umeros.

37. Dada uma lista encadeada que armazena n ´umeros inteiros, escreva uma func¸ ˜ao que transforma a lista dada em duas listas encadeadas: a primeira contendo os elementos cujo conte ´udo ´e par e a segunda contendo os elementos com conte ´udos impares. Sua func¸ ˜ao deve manipular somente os apontadores e n ˜ao o conte ´udo das c ´elulas.

38. Implementar uma lista encadeada para manipulac¸ ˜ao de polin ˆomios do tipo a

n

x

n

+ a

n−1

x

n−1

+ · · · + a

1

x

1

+ a

0

onde cada elemento i da lista deve armazenar o n- ´esimo termo do polin ˆomio (diferente de 0). Cada item da lista deve conter o valor da pot ˆencia de (inteiro) e o coeficiente correspondente (inteiro). Fac¸a func¸ ˜oes para

(a) Inicializar um polin ˆomio.

(b) Inserir um novo termo no polin ˆomio existente (c) Imprimir

(d) Eliminar o termo associado `a n- ´esima pot ˆencia (e) Reinicializar um polin ˆomio

39. Escreva uma func¸ ˜ao que remove o k- ´esimo n ´o da lista encadeada.

40. Escreva uma func¸ ˜ao recursiva e outra n ˜ao recursiva para contar o n ´umero de elementos na lista

41. Generalize o conceito de lista circular para Lista Circular Duplamente Encadeada. Imple- mente as func¸ ˜oes necess ´arias para o gerenciamento da mesma.

42. Fac¸a uma func¸ ˜ao para retornar o n ´umero de n ´os da lista que possuem valor maior que n.

43. Considere uma lista de inteiros. Fac¸a uma func¸ ˜ao para somar os valores contidos em uma lista.

44. Considere uma lista de inteiros. Fac¸a uma func¸ ˜ao para retornar o n ´umero de n ´os da lista que possuem um n ´umero primo armazenado.

3

Referências

Documentos relacionados

pesquisada poucos são os relatos acerca da Odontologia Hospitalar, sobretudo no tocante a protocolos de atendimentos nesse nível, é objetivo deste trabalho auxiliar na

de 1969, como na Convenção de Viena sobre o Direito dos Tratados entre Estados e Organizações Internacionais ou entre Organizações Internacionais, de 1986, refere-se à

Os resultados apontam para o sentido de que a escola mesmo não sendo da sua cultura, é admitida pela necessidade de conviver com os não indígenas, partindo do

Ocorre que, passados quase sete anos da publicação da Lei n o  12.651/2012 e pacificadas as discussões sobre a sua aplicação, emendas a uma medida provisória em tramitação

The provisional measure addresses the necessary extension of the deadline for entry into the Environmental Regularization Program (PRA), but also contains amendments that aim

Com relação ao CEETEPS, o tema desta dissertação é interessante por se inserir no Programa de Educação de Jovens e Adultos (PROEJA), sob a tutela da Coordenação de

Os corta-circuitos têm duas funções: Funciona como interruptor principal para fornecer electricidade ao consumidor e, corta o fornecimento para proteger o gerador quando existir

Trabalho de Conclusao de Curso de Medicina da da Faculdade de Ciências Humanas, Exatas e da Saúde do Piauí/Instituto de Educação Superior do Vale do Parnaíba