Пример #1
0
int main()
{
    int i, escolhido, repetir;
    node *lista;

    do
    {
    lista = NULL;

    printf("Ha' 15 numeros na lista.\n");

    for(i = 0; i < 15; i++)
    {
        addNum(&lista, i + 1);
    }

    printf("Sua lista: \n");
    printLista(lista);

    printf("\nDe qual vc vai remover os vizinhos? ");
    scanf("%d", &escolhido);

    removerVizinhos(&lista, escolhido);

    printf("\nSua nova lista: \n");

    printLista(lista);

    printf("\n\nDeseja repetir? Aperte 1 - SIM, qualquer outro - NAO: ");
    scanf("%d", &repetir);

    printf("\n");

    freeLista(&lista);

    }while(repetir == 1);

    printf("Acabou-se.\n");

    return 0;
}
Пример #2
0
void freeGrafoD(void* grafo, void*** ar0){
    if(grafo == NULL) return;
    Grafo *gr; gr = (Grafo*)grafo;

    if(ar0!=NULL){
        Lista vertices;
        vertices = KDT_getAll(gr->vertices);
        int size = Lista_lenght(vertices);
        freeLista(vertices);
        for(int i=0; i<size; i++)
            free(ar0[i]);
        free(ar0);
    }
    
    if(gr->vertices != NULL)
    freeKDTree(gr->vertices);
    if(gr->left != NULL)
    free_hashtable(gr->left);
    if(gr->right != NULL)
    free_hashtable(gr->right);
    if(gr->ID != NULL)
    free_hashtable(gr->ID);
    free(gr);
}