Este trabalho visa implementar um Tipo Abstrato de dado (TAD) “lista de inteiros” usando listas encadeadas.
Você deve implementar um TAD “lista de números inteiros” usando lista encadeada dupla não-circular.
As seguintes operações devem ser suportadas:
cria (lista)
: cria uma nova listadestrói (lista)
: esvazia e destrói a lista, liberando a memóriainsere (lista, item, posição)
: insere um novo item na posição indicada item = retira (lista, posição)
: retira o item da posição indicadaitem = consulta (lista, posição)
: informa o valor do item na posição indicada, sem retirá-loposição = procura (lista, valor)
: informa a posição da 1ª ocorrência do valor informado na listatamanho (lista)
: informa o número de itens na listaimprime (lista)
: imprime o conteúdo da listaA posição de inserção/remoção/consulta é um número inteiro positivo, onde 0 indica a primeira posição da lista.
Os arquivos necessários para desenvolver este trabalho estão neste arquivo. Eles são:
lista.h
: arquivo de cabeçalho com os protótipos das funções (não deve ser alterado).lista.c
: arquivo que implementa as operações sobre as listas (“esqueleto” a completar).tp4.c
: código que testa a biblioteca (não deve ser alterado).tp4.txt
: saída esperada da execução de tp4
makefile
: arquivo do utilitário “make” para compilar seu código. diff
:$ ./tp4 > saida.txt $ diff tp4.txt saida.txt
Esse comando mostra as diferenças entre dois arquivos de texto. Se ele não mostrar nada, os arquivos são iguais.
Entregue um único arquivo tp4.tgz
que contenha por sua vez os seguintes arquivos:
lista.h
: o mesmo arquivo fornecido, não o modifiquelista.c
: sua implementação das funções definidas em lista.h
tp4.c
: o mesmo arquivo fornecido, não o modifiquemakefile
Critérios de avaliação: