<commit_before>#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct lista{//struct lista é utilizada pelas estruturas
    int info;
    struct lista* prox;//é um ponteiro para o proximo elemento
};
typedef struct lista Lista;
//Listas
Lista * lst_cria(){//funcao de criacao da lista, apontando-a para null
    return NULL;
}
Lista * lst_insere(Lista *l,int info){//inclusao de elementos na lista
    Lista *p = malloc(sizeof(Lista));
    p->info=info;
    p->prox=l;//o proximo do nó inserido será a lista
    return p;//retorna a lista com o nó já incluído
}
void lst_imprime(Lista *l){//imprime os elementos da lista
    Lista *p;//lista auxiliar
    for(p=l;p!=NULL;p=p->prox)//enquanto p for diferente de null, imprimir a informacao
        printf("-->[%d]",p->info);
}
int lst_buscar(Lista *l, int chave){
    Lista *p;//é criada uma lista auxiliar pois a original foi passada por referencia
    for(p=l;p!=NULL;p=p->prox)
        if(chave==p->info) 
            return 1;//se encontrado retorna 1 e sai da função
    return 0;//se não encontrado retorna 0
}
void lst_libera(Lista* l){//funcao para liberar a lista
    Lista* p = l;
    while (p!=NULL){
        Lista*t = p->prox;
        free(p);
        p=t;
    }
}

Lista* separa(Lista* l, int n){//função de separação da lista
    Lista *p=l;//p recebe lista l<commit_msg>add Contador de Elementos da lista<commit_after>#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct lista{//struct lista é utilizada pelas estruturas
    int info;
    struct lista* prox;//é um ponteiro para o proximo elemento
};
typedef struct lista Lista;
//Listas
Lista * lst_cria(){//funcao de criacao da lista, apontando-a para null
    return NULL;
}
Lista * lst_insere(Lista *l,int info){//inclusao de elementos na lista
    Lista *p = malloc(sizeof(Lista));
    p->info=info;
    p->prox=l;//o proximo do nó inserido será a lista
    return p;//retorna a lista com o nó já incluído
}
void lst_imprime(Lista *l){//imprime os elementos da lista
    Lista *p;//lista auxiliar
    if(lst_vazia(l)){
        puts("lista vazia");
    }
    for(p=l;p!=NULL;p=p->prox)//enquanto p for diferente de null, imprimir a informacao
        printf("-->[%d]",p->info);
}
int lst_buscar(Lista *l, int chave){
    Lista *p;//é criada uma lista auxiliar pois a original foi passada por referencia
    for(p=l;p!=NULL;p=p->prox)
        if(chave==p->info) 
            return 1;//se encontrado retorna 1 e sai da função
    return 0;//se não encontrado retorna 0
}
int lst_vazia(Lista *l){//returna 1 se a lista estiver vazia
    if(l==NULL)
        return 1;
    return 0;
}
void lst_libera(Lista* l){//funcao para liberar a lista
    Lista* p = l;
    while (p!=NULL){
        Lista*t = p->prox;
        free(p);
        p=t;
    }
}
int lst_conta(Lista *l){//contar elementos da lista
    Lista *p;//é criada uma lista auxiliar pois a original foi passada por referencia
    int cont=0;
    if(lst_vazia(l)){//verifica se a lista esta vazia
        return 0;
    }
    for(p=l;p!=NULL;p=p->prox)
        {
            cont++;//contador é incrementado
        }
    return cont;
}

Lista* separa(Lista* l, int n){//função de separação da lista
    Lista *p=l;//p recebe lista l
{'fraction_non_alphanumeric': 0.12895226286422815, 'fraction_numerical': 0.0040297582145071295, 'mean_word_length': 2.9210206561360876, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 26, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7407606', 'n_tokens_mistral': 1244, 'n_tokens_neox': 1247, 'n_words': 364}