// Nayara

#include <stdio.h>
#include <stdlib.h>

typedef struct elemento{
    int info;
    struct elemento *prox;
}Elemento;

Elemento *lst_cria (Elemento *lst){
    return NULL;
}

Elemento *lst_insere (Elemento *lst, int l){
    Elemento *p = (Elemento*)malloc(sizeof(Elemento*));
    p->info = l;
    p->prox = lst;
    return p;
}

void imprimeLista (Elemento *lst){
    if (lst == NULL){
        printf ("Lista vazia.\n");
    }
    Elemento *p = lst;
    printf ("Elementos da lista:\n");
    while (p != NULL){
        printf ("%i\n", p->info);
        p = p->prox;
    }
}

Elemento *copia (Elemento *lst){
    Elemento *p, *primeiro=NULL,*ultimo=NULL;
    Elemento *aux = lst;
    while (aux != NULL){
        p = (Elemento*)malloc(sizeof(Elemento));
        p->info = aux->info;
        p->prox=NULL;
        if (primeiro==NULL) primeiro = p;
        if (ultimo!=NULL) ultimo->prox = p;
        ultimo = p;
        aux = aux->prox;
   }
    return primeiro;
}

int main(){
    Elemento *lst, *cp;
    lst = lst_cria (lst);
    lst = lst_insere (lst,2019);
    lst = lst_insere (lst,2020);
    lst = lst_insere (lst,2021);
    lst = lst_insere (lst,2022);
    imprimeLista (lst);
    cp = copia (lst);
    imprimeLista (cp);
}
