Listas Ligadas
Trabalho Escolar: Listas Ligadas. Pesquise 861.000+ trabalhos acadêmicosPor: anagil86 • 27/9/2014 • 323 Palavras (2 Páginas) • 510 Visualizações
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 aser 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 do código fonte desta etapa do ATPS está armazenado no arquivo voo.c.
Struct Passagem
//estrutura da passagem
typedef struct passagem{
int num; //inteiro de n algarismos
int numVoo; //inteiro de 4 algarismos
char dataEmb[10]; //formato dd/mm/aaaa
char horaEmb[5]; //formato hh:mm
int portaoEmb; //portao de embarque
} passagem;
O struct apresentado acima armazena as informações de uma passagem. O restante do código fonte desta etapa do ATPS está armazenado no arquivo passagem.c.
...