ATPS Estruturas de Dados
Curso: Tecnologia em Análise e Desenvolvimento de Sistemas
Disciplina: Estrutura de Dados
Atividade Prática Supervisionada – Etapa 2
Listas Ligadas
Belo Horizonte, 07 de Outubro de 2013
Relatório 2: Listas Ligadas Neste relatório, será descrito o conceito de listas ligadas e sua aplicação nesta etapa do ATPS. Uma lista ligada – também conhecida como lista encadeada – é um tipo particular da estrutura de dados lista, cuja alocação de dados é feita de forma dinâmica e pode variar conforme a demanda. Cada elemento da lista é formado por seus atributos, normalmente representados por um struct, e um ponteiro para o próximo elemento da lista. Este ponteiro pode conter o endereço de memória do próximo elemento, ou, no caso do último elemento da lista, pode apontar para NULL, indicando que não há elementos posteriores a ele. As listas ligadas podem ter um elemento cabeça, que representa a primeira posição da lista e não armazena dados, a não ser o ponteiro para o próximo elemento, ou sem cabeça, quando a primeira posição já armazena os dados da lista. Esta estrutura de dados permite que a lista cresça em tempo de execução, sendo limitada apenas ao espaço disponível na memória do computador. A cada novo elemento a ser inserido na lista, é feito um comando malloc, que aloca espaço de memória para um elemento, e o ponteiro do último elemento passa a apontar para o novo espaço de memória alocado, tornando este o último.
Struct Voo
//estrutura do voo typedef struct voo{ int num; //inteiro de 4 algarismos char data[10]; //formato dd/mm/aaaa char hora[5]; //formato hh:mm char saida[3]; //aeroporto de saida char chegada[3]; //aeroporto de chegada int rota; //numero da rota float tempo; //tempo estimado de voo em horas int passageiros; //quantidade de passageiros a bordo
} voo;
O struct apresentado acima armazena as informações de um voo. O restante