void ll_removValeur(Llist *list, TYPE_VARIABLE val){ ll_secuList(list); Element *res = list->first; int pos = ll_indexOf(list, val); if(pos == 0){ Element *remov = list->first; list->first = list->first->nxt; free(remov); list->size--; return; } Element *back = ll_containt(list, pos-1); if(pos == ll_size(list)){ back->nxt = NULL; Element *remov = ll_containt(list, pos); free(remov); list->size--; return; } else { Element *remov = ll_containt(list, pos); back->nxt = remov->nxt; free(remov); list->size--; return; } }
/** * \brief Toma el indice de un empleado por el Id recorriendo todo el LinkedList * * \param pArrayListEmployee LinkedList* Es la LinkedList donde se buscan los empleados. * \param index int* Se retorna por parametros el index donde se encuentra el empleado. * \return En caso de exito retorna 1, si no 0 * */ int employee_getIndexById(LinkedList* pArrayListEmployee,int id, int* index) { int retorno = -1; Employee* pEmpleado; int bufferId; int i; if(pArrayListEmployee != NULL) { for(i=0;i < ll_len(pArrayListEmployee);i++) { pEmpleado = ll_get(pArrayListEmployee,i); employee_getId(pEmpleado,&bufferId); if(bufferId == id) { *index = ll_indexOf(pArrayListEmployee, pEmpleado); retorno = 0; break; } } } return retorno; }