lista
}Elemento;
typedef struct _lista{ Elemento* primeiro;
}Lista;
Lista* criarLista(){ Lista *lista = (Lista*) malloc(sizeof(Lista)); lista->primeiro = NULL; return lista;
}
int valor(){ int opc; printf("Digite o valor.->"); scanf("%i", &opc); return opc;
}
int posicao(){ int position; printf("Digite a posição.->"); scanf("%i", &position); return position;
}
int listaVazia(Lista* lista){ //verifica se a lista está vazia if (lista->primeiro == NULL){ return 1;// vazia }else{//caso contrário return 0;// elementos nalista }
}
void ImprimeLista(Lista *lista){ Elemento* eleAux; if (listaVazia(lista)){ printf("Não há elementos na lista.\n"); }else{ printf("Componentes da lista:\n\n"); eleAux = lista->primeiro; while(eleAux != NULL){ printf("%d\n",eleAux->valor);//imprime o valor eleAux = eleAux->proximo; } } system("pause");
}
void AddElementInicio(Lista *lista, int novoValor){ Elemento* novoElemento; novoElemento = (Elemento*) malloc(sizeof(Elemento));//aloco espaço de memória para guardar os valores que serão inceridos na estrutura novoElemento->proximo = NULL; novoElemento->valor = novoValor;
if (listaVazia(lista))//verifico se a lista está vazia lista->primeiro = novoElemento;//estando, coloco o endereço do elemento criado no apontador da lista else{ novoElemento->proximo = lista->primeiro; lista->primeiro = novoElemento; }
}
void AddElementoFinal(Lista *lista, int novoValor){ Elemento* novoElemento, *eleAux; novoElemento = (Elemento*) malloc(sizeof(Elemento)); novoElemento->proximo = NULL; novoElemento->valor = novoValor;
if (listaVazia(lista)){