Você está na página 1de 2

IFSULDEMINAS GERAIS – CAMPUS PASSOS

Curso de Ciência da Computação

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 ;
};

isbn isbn isbn isbn

itens
autor autor autor ... autor
titulo titulo titulo titulo
...
0 1 2 9
...
primeiro ultimo

Implemente uma função que:

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.

Cod par Cod ímpar Cod par Cod ímpar

0 1 2 3 ...

Desta forma, as listas a seguir retornariam valor 1.

Cod=2 Cod=3 Cod=4 Cod=5

0 1 2 3

Cod=2

Cod=22 Cod=77

0 1

Você também pode gostar