ESTRUTURA DE DADOS I
(Listas estáticas)
Disciplina: ED I Turma: 3º Período
Prof. Vinícius Alves Silva
1. Dada a estrutura de Lista estática a seguir:
#define INICIOARRANJO 1
#define MAXTAM 10 TipoItem
typedef int TipoApontador;
struct TipoItem { isbn
int isbn;
char autor[50]; autor
char titulo[50]; titulo
};
struct TipoLista {
TipoItem itens [MAXTAM] ;
TipoApontador primeiro, ultimo ;
};
itens
autor autor autor ... autor
titulo titulo titulo titulo
...
0 1 2 9
...
primeiro ultimo
a. receba uma lista e retorne quantos itens possuem isbn com valor ímpar;
b. receba uma lista e retorne o maior valor de isbn dos itens da lista;
c. receba uma lista e um autor (a ser procurado) e retorne -1 caso o autor não esteja na lista ou
a posição do item com o autor procurado na lista;
d. receba uma lista e um titulo de livro e retorne -1 caso o título não esteja na lista, ou 1 caso
esteja;
e. receba 2 listas e retorne 1 se as duas listas recebidas forem iguais, caso contrário retorne 0.
Obs: a verificação de igualdade entre registros deve ser realizada campo a campo. Incorreto:
Reg1 == Reg2. Correto: Reg1.campo1 == Reg2.campo1 ...;
IFSULDEMINAS GERAIS – CAMPUS PASSOS
Curso de Ciência da Computação
f. receba 2 listas e retorne a lista com maior quantidade de itens. Retorne 1 (primeira lista
passada como parâmetro), 2 (segunda lista passada como parâmetro) ou 0 (Listas com
mesmo número de itens);
g. receba 2 listas e retorne a lista com maior quantidade de itens com isbn par. Retorne 1, 2 ou 0
em caso de empate;
h. receba duas listas e exiba os autores que estão na lista 1 e também estão na lista 2;
i. receba duas listas e exiba os autores que estão na lista 1 e não estão na lista 2;
j. receba três listas e retorne uma terceira lista (passagem de parâmetro por referência) que
seja composta pelos itens da lista 1 e posteriormente pelos itens da lista 2. Use a função
Insere.
k. receba três listas e retorne uma terceira lista (passagem de parâmetro por referência) que
seja composta pelos itens da lista 1 e da lista 2 de forma intercalada. Use a função Insere.
2. Implemente uma função que receba uma lista e retorne 1 se a lista recebida possuir um registro com
código par e outro registro com código ímpar, e assim sucessivamente.
0 1 2 3 ...
0 1 2 3
Cod=2
Cod=22 Cod=77
0 1