Lista dinamica

Disponível somente no TrabalhosFeitos
  • Páginas : 2 (437 palavras )
  • Download(s) : 0
  • Publicado : 1 de abril de 2012
Ler documento completo
Amostra do texto
#include
#include
#include

struct Registro
{
int valor;
struct Registro *prox;
};
struct Registro *aux, *inicio = NULL, *final = NULL;

/*função responsável por criar a lista*/struct Registro* cria(void)
{
return NULL;
}

/* função com tipo de retorno ponteiro para estrutura, realizando inserção pelo final*/
struct Registro* insere_final()
{
int x;printf("Entre com um numero inteiro: ");
scanf("%i",&x);
aux = (struct Registro*) malloc (sizeof(struct Registro));
aux-> valor = x;
aux -> prox = (struct Registro *) NULL;

if(inicio == NULL)inicio = final = aux;
else
{
final -> prox = aux;
final = aux;
}
return inicio;
}

/* função que verifica o estado da lista: retorno 1 se vazia ou 0 se não vazia*/
intlista_vazia(struct Registro *lista)
{
if(lista == NULL)
return 1;
else
return 0;
}

/* função responsável por imprimir o conteúdo da lista*/
void visualiza_lista_final(structRegistro *lista)
{

/* verifica se a lista está vazia*/
if(!lista_vazia(lista))
{
aux = lista;
while(aux != (struct Registro *) NULL)
{
printf("Valor da Lista:%i\n", aux->valor);
aux = aux -> prox;
}
}
/* indica que a lista está vazia*/
else
printf("\nTentou imprimir uma lista vazia!");
getch();

}

/* função quebusca um elemento na lista*/
struct Registro* busca(struct Registro* lista, int busca)
{

bool achou = 0;
if(!lista_vazia(lista))
{
for(aux=lista;aux!=NULL;aux=aux->prox)
{if(aux->valor == busca)
{
printf("Valor encontrado.\n");
achou = 1;
}
}
if(!achou)
printf("Valor nao encontrado.\n");
}
else{
printf("\nTentou buscar de uma lista vazia");

}
getch();
return NULL;

}

/* função para excluir registros da lista*/
struct Registro* excluir(struct Registro...
tracking img