Escolar Documentos
Profissional Documentos
Cultura Documentos
ESD - Exercício 3.1
ESD - Exercício 3.1
#include <stdio.h>
#include <stdlib.h>
typedef struct{
Node *inicio;
Node *fim;
int size;
}Lista;
return remove;
}
int main(){
int op, elem;
Lista lista;
Node *r;
criarLista(&lista);
do{
printf("Escolha uma opcao:\n 1 - inserir no inicio\n 2 - Inserir no fim\n 3
- Remover um valor\n 4 - Buscar\n 5 - Imprimir a lista\n 6 - Sair\n");
scanf("%d", &op);
switch(op){
case 1:
printf("Digite um valor: ");
scanf("%d", &elem);
addInicio(&lista, elem);
break;
case 2:
printf("Digite um valor: ");
scanf("%d", &elem);
addFim(&lista, elem);
break;
case 3:
printf("Digite um valor a ser removido: ");
scanf("%d", &elem);
r = remove(&lista, elem);
if(r){
printf("Elemento removido: %d\n", r -> v);
free(r);
}
else
printf("elemento inesistente!\n");
break;
case 4:
printf("Digite um valor a ser buscado: ");
scanf("%d", &elem);
r = search(&lista, elem);
if(r)
printf("Valor encontrado: %d\n", r -> v);
else
printf("Valor nao encontrado!\n");
break;
case 5:
printLista(lista);
break;
case 6:
printf("Finalizando...\n");
break;
default:
printf("Opcao invalida!\n");
}
}while(op != 6);
return 0;
}