DATA al_pop_front(smb_al *list, smb_status *status) { // On failure, returns dummy and sets INDEX_ERROR. DATA toReturn = al_get(list, 0, status); // On failure, sets INDEX_ERROR and does nothing. al_remove(list, 0, status); return toReturn; }
DATA al_pop_back(smb_al *list, smb_status *status) { // On failure, returns dummy and sets INDEX_ERROR: DATA toReturn = al_get(list, list->length - 1, status); // On failure, sets INDEX_ERROR and does nothing: al_remove(list, list->length - 1, status); return toReturn; }
void baja(ArrayList* lista) { char opcion; int i; int auxIden; int flag=0; int auxContains; ePelicula* auxPeli; showMessage("Ingrese identificador de la pelicula"); fflush(stdin); scanf("%d",&auxIden); for(i=0; i<lista->size; i++) { auxPeli=al_get(lista,i); auxContains=al_contains(lista,auxPeli); if(auxIden==auxPeli->identificador&&auxContains==1) { flag=1; system("cls"); showMessage("PELICULA ENCONTRADA"); system("pause"); printf("\nTitulo de la pelicula: %s\nAnio de la pelicula: %d\nNacionalidad de la pelicula: %s\nCodigo de Director de la pelicula: %d\n",auxPeli->titulo,auxPeli->anioPelicula,auxPeli->nacionalidad,auxPeli->director); showMessage("Desea eliminarla? s/n"); fflush(stdin); scanf("%c",&opcion); if(opcion=='s') { system("cls"); al_remove(lista,i); showMessage("PELICULA BORRADA"); system("pause"); system("cls"); } else { system("cls"); showMessage("PELICULA NO BORRADA"); system("pause"); system("cls"); } break; } } if(flag==0) { system("cls"); showMessage("PELICULA INEXISTENTE"); system("pause"); system("cls"); } }
/** \brief Removes all of the elements from this list * \param pList ArrayList* Pointer to arrayList * \return int Return (-1) if Error [pList is NULL pointer] * - ( 0) if Ok */ int al_clear(ArrayList* pList) { int returnAux = -1; int i; if(pList!=NULL) { for(i=0; i<pList->size; i++) { al_remove(pList,i); } returnAux=0; pList->size=0; } return returnAux; }
main() { struct al *l; int *u; l = al_create(5); al_add(l, new_int(1)); al_add(l, new_int(2)); al_add(l, new_int(3)); printf("%d\n", al_resize(l, 3)); al_dump(l); al_insertat(l, 0, new_int(4)); al_dump(l); printf("%d\n", al_insertat(l, 6, NULL)); printf("%d\n", al_insertat(l, 3, new_int(5))); al_dump(l); printf("%d\n", al_removeat(l, 5)); printf("%d\n", al_removeat(l, 4)); printf("%d\n", al_insertat(l, 2, u = new_int(6))); al_dump(l); printf("%d\n", al_remove(l, u)); al_dump(l); free(l); return 0; }
int main() { ArrayList* arrayListC=al_newArrayList(); ArrayList* DeleteHistory=al_newArrayList(); ArrayList* Backup=al_newArrayList(); eEmployee* employeeAux; int id=0; int auxInt; int option; char continueDo='s'; // loadCant(arrayListC); loadFile(arrayListC,"Nomina.dat"); loadFile(DeleteHistory,"Exempl.dat"); // loader(arrayListC); do { getInt(&option,"######CASO DE USO ARRAYLIST###\n\n1-Agregar un empleado\n2-Modificar empleado\n3-Eliminar empleado" "\n4-Tamaño de la nomina\n5-Informes\n6-Salir" "\n10-Salir\noption:","Opcion no valida\n",1,8); switch(option) { case 1: employeeAux=loadEmployee(arrayListC); auxInt=findByName(DeleteHistory,employeeAux->name,employeeAux->lastName); if(auxInt==-1) { id++; if(al_add(arrayListC,(void*)employeeAux)) { id--; } } else { getInt(&option,"\nEl empleado ya pertenecia a la empresa, desea agregarlo nuevamente?? \n1-Si\n2-No","Error opcion no valida",1,2); switch(option) { case 1: employeeAux=(ArrayList*)arrayListC->get(DeleteHistory,auxInt); al_push(arrayListC,(employeeAux->id-1),(void*)employeeAux); al_remove(DeleteHistory,auxInt); break; case 2: id++; if(al_add(arrayListC,(void*)employeeAux)) { id--; } } break; } break; case 2: modifyEmployee(arrayListC); break; case 3: deleteEmployee(arrayListC,DeleteHistory); break; case 4: printf("\n\n@@@@@@@@ HISTORIAL @@@@@@@\n\n"); PrintEmployees(DeleteHistory); break; case 5: informes(arrayListC); break; case 6: continueDo='n'; saveToFileActive(arrayListC,"Nomina.dat"); saveToFileActive(DeleteHistory,"Exempl.dat"); break; case 7: break; case 8: al_push(arrayListC,2,loadEmployee(arrayListC)); break; default: break; } } while(continueDo!='n'); // saveCant(arrayListC); return 0; }