Esempio n. 1
0
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;
	}
}
Esempio n. 2
0
/**
 * \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;
}