void PassSwappedListVF(Attribute * to, Attribute * from) { Lista * fromV = &from->listV; Lista * toF = &to->listF; InitLista(toF, sizeof(int)); PassList(toF, fromV); Lista * fromF = &from->listF; Lista * toV = &to->listV; InitLista(toV, sizeof(int)); PassList(toV, fromF); }
void PassFormParameters(Attribute * to, Attribute * from) { Lista * fromV = &from->formArguments; Lista * toV = &to->formArguments; InitLista(toV, sizeof(int)); PassList(toV, fromV); }
void InsertIDtable(Lista *IDlist, int type) { if(listaVazia(&IDtable)) InitLista(&IDtable, sizeof(tableNode)); tableNode aux; while(removeDoInicio(IDlist, aux.id) == 1) { if(elementoExiste(IDlist, aux.id, CompareID)) { printf("<Error> in InsertIDtable(Lista *IDlist, int type)\n"); exit(0); } else { static int i = 0; aux.pos = ++i; aux.type = type; insereNoFim(&IDtable, &aux); } } }
void InitEmptyListVF(Attribute * item) { InitLista(&item->listV, sizeof(int)); InitLista(&item->listF, sizeof(int)); }
int main(int argc, char *argv[]) { TipoLista new_nodo, new_nodo_2, nodo_copia; InitLista(&new_nodo); system("tput reset"); /* Da eliminare su sistemi != da UNIX */ printf("Test lista vuota: %d\n", TestListaVuota(new_nodo)); InserisciTestaLista(&new_nodo, 100); InserisciTestaLista(&new_nodo, 200); ScorriLista(new_nodo); TestaLista(new_nodo); CancellaTesta(&new_nodo); RestoLista(&new_nodo); printf("-----------------------\n"); ScorriLista(new_nodo); InserisciCodaListaI(&new_nodo, 1973); InserisciTestaLista(&new_nodo, 1); InserisciCodaListaI(&new_nodo, 0); printf("-----------------------\n"); ScorriLista(new_nodo); CancellaTesta(&new_nodo); /* * Si deve utilizzare un altro puntatore, la lista precedente non esiste * piu', poiche' deallocata */ InitLista(&new_nodo_2); InserisciCodaListaI(&new_nodo_2, 2000); InserisciCodaListaI(&new_nodo_2, 3000); InserisciTestaLista(&new_nodo_2, 1000); CancellaTesta(&new_nodo_2); printf("-----------------------\n"); ScorriLista(new_nodo_2); printf("Cerca 3000 %d\n", EsisteInLista(new_nodo_2, 3000)); printf("Cerca 1000 %d\n", EsisteInLista(new_nodo_2, 1000)); printf("Cerca 2000 %d\n", EsisteInLista(new_nodo_2, 2000)); InserisciTestaLista(&new_nodo_2, 4); InserisciCodaListaI(&new_nodo_2, 9); InserisciCodaListaI(&new_nodo_2, 3); InserisciTestaLista(&new_nodo_2, 1); printf("-----------------------\n"); ScorriLista(new_nodo_2); printf("Cerca 3 %d\n", EsisteInLista(new_nodo_2, 3)); printf("Cerca 1 %d\n", EsisteInLista(new_nodo_2, 1)); printf("Cerca 2 %d\n", EsisteInLista(new_nodo_2, 2)); printf("-----------------------\n"); ScorriLista(new_nodo_2); CancellaElementoLista(&new_nodo_2, 2000); CancellaElementoLista(&new_nodo_2, 1); printf("-----------------------\n"); ScorriLista(new_nodo_2); CancellaElementoLista(&new_nodo_2, 3000); printf("-----------------------\n"); ScorriLista(new_nodo_2); InserisciTestaLista(&new_nodo_2, 100); InserisciTestaLista(&new_nodo_2, 100); InserisciCodaListaI(&new_nodo_2, 100); printf("-----------------------\n"); ScorriLista(new_nodo_2); printf("-----------------------\n"); CancellaTuttaLista(&new_nodo_2, 100); ScorriLista(new_nodo_2); printf("------ COPIA -------------\n"); CopiaLista(new_nodo_2, &nodo_copia); ScorriLista(nodo_copia); CancellaLista(&nodo_copia); ScorriLista(nodo_copia); InserisciCodaListaR(&new_nodo_2, 200); InserisciTestaLista(&new_nodo_2, 1); ScorriLista(new_nodo_2); return(EXIT_SUCCESS); }