Exercicio Estrutura De Dados
FAC 2
TECNOLOGIA EM ANALISE E DESENVOLVIMENTO DE SISTEMAS
ALICE DE SOUZA SOARES R.A: 6659427966
MAYARA SANTOS CIPRIANO DA SILVA R.A: 6814001569
NICOLI CRISTINA NASCIMENTO CAMARGO R.A: 6814001581
VANDERLEI RABELO MARTINS JUNIOR R.A: 1299780194
ESTRUTURA DE DADOS
EXERCICIO
CAMPINAS
2014
Exercício Lista Encadeada
//Exemplo simples de manipulação de lista encadeada
#include <stdio.h>
#include <string.h>
#define TRUE 1
/* Protótipo das funções */ void listar (void); void incluir (void); void excluir (void); void gravar (void); void ler (void);
/* Definição de tipo pelo programador */ struct no
{
char nome[20]; int idade; struct no *prox;
};
/* Cabeça da lista, declarado como variável global */
struct no *lista;
/*====== Programa Principal ========*/ int main()
{
/* Declaração de variáveis */ int resp;
/* Inicializa a lista como vazia */ lista = NULL;
/* Lê os dados do arquivo, se existir */ ler();
/* Mostra o menu */ while (TRUE) { printf ("\n\n\n === Menu de Opções ===\n"); printf ("1 - Incluir \n"); printf ("2 - Listar \n"); printf ("3 - Excluir \n"); printf ("4 - Gravar em arquivo \n"); printf ("5 - fim \n"); printf ("Selecione a opção desejada: "); scanf ("%d", &resp); /* Seleciona a opção conforme a escolha do usuário */ switch (resp) { case 1: incluir(); break; case 2: listar(); break; case 3: excluir(); break; case 4: gravar(); break; case 5: return 0; } }
} /* Fim do programa principal */
/*====== Função para mostrar o conteudo da lista ========*/ void listar (void)
{
/* Ponteiro auxiliar */ struct no *aux;
/* Lista vazia */ if (lista == NULL) { printf ("\n\nLista vazia !!! \n\n"); return; } /* Aponta para o início da lista */ aux = lista;
/* Percorre a lista até o fim */ while( aux != NULL ) { printf ("\nNome : %s ", aux->nome); printf ("\tIdade :