Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- //#################################################################################################################################
- typedef struct elemento Elemento;
- struct elemento {
- int info;
- Elemento* prox;
- };
- //#################################################################################################################################
- Elemento* lst_cria (void) {
- return NULL;
- }
- //#################################################################################################################################
- Elemento* lst_insere (Elemento* lst, int val) {
- Elemento* novo = (Elemento*) malloc(sizeof(Elemento));
- novo->info = val;
- novo->prox = lst;
- return novo;
- }
- //#################################################################################################################################
- Elemento* lst_insere_fim(Elemento* lst, int val) {
- Elemento* novo = (Elemento*) malloc(sizeof(Elemento));
- Elemento* aux;
- aux = lst;
- novo->info = val;
- novo->prox = NULL;
- while (aux->prox != NULL) {
- aux = aux->prox;
- }
- aux->prox = novo;
- return lst;
- }
- //#################################################################################################################################
- void imprime_lst_recursivo(Elemento* lst) {
- if (lst != NULL) {
- printf("info = %d\n", lst->info);
- imprime_lst_recursivo(lst->prox);
- }
- }
- //#################################################################################################################################
- void lst_imprime(Elemento* lst) {
- Elemento* p;
- for (p = lst; p != NULL; p = p->prox) {
- printf("info = %d\n", p->info);
- }
- }
- //#################################################################################################################################
- int lst_vazia (Elemento* lst) {
- return (lst == NULL);
- }
- //#################################################################################################################################
- int procura_info(Elemento* lst, int procurado) {
- Elemento* p;
- for (p = lst; p != NULL; p = p->prox) {
- if (p->info == procurado) {
- return 1;
- }
- }
- return 0;
- }
- //#################################################################################################################################
- int retira_elemento(Elemento* lst, int elemento_retirar) {
- Elemento* p;
- for (p = lst; p != NULL; p = p->prox) {
- if (p->info == elemento_retirar) {
- }
- }
- }
- //#################################################################################################################################
- Elemento* retira_primeiro_elemento(Elemento* lst) {
- Elemento* aux;
- aux = lst;
- lst = aux->prox;
- free(aux);
- return lst;
- }
- //#################################################################################################################################
- Elemento* retira_ultimo_elemento(Elemento* lst) {
- Elemento* aux;
- int contador = 0, i;
- for (aux = lst; aux != NULL; aux = aux->prox) {
- contador+1;
- }
- Elemento* novo;
- for (i = 0; i < contador-1 ; i++) {
- novo = lst_insere(novo, lst->info);
- }
- return novo;
- }
- //#################################################################################################################################
- int main(int argc, char const *argv[]) {
- Elemento* lst;
- int procurar, encontrado = 0;
- scanf("%d", &procurar);
- lst = lst_cria();
- lst = lst_insere(lst, 23);
- lst = lst_insere(lst, 45);
- lst = lst_insere(lst, 51);
- lst = lst_insere(lst, 67);
- lst = lst_insere_fim(lst, 12);
- lst = lst_insere_fim(lst, 23);
- lst = retira_primeiro_elemento(lst);
- //lst = retira_ultimo_elemento(lst);
- lst_imprime(lst);
- encontrado = procura_info(lst, procurar);
- if (encontrado == 1) {
- printf("Valor encontrado!\n");
- }
- else
- printf("Valor não encontrado!\n");
- return 0;
- }
- //#################################################################################################################################
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement