Exemple #1
0
TipoCola * insertar (TipoCola * cola, TipoElemento elto)
{
    struct ElementoCola * individuo;

    /*  reserva de memoria  */
    individuo=malloc(sizeof(struct ElementoCola));
    if (NULL==individuo) {
        perror("malloc:");
        return NULL;
    }

    /*  valores para el nuevo elemento  */
    /*
    memcpy((void *) &(individuo->elemento), (const void *) &elto, sizeof(TipoElemento));  
    */
    individuo->elemento = elto;
    individuo->siguiente=NULL;

    /*  dar la vez en la cola  */
    if (esVacia(*cola)) {
        cola->primero=individuo;
        cola->ultimo=individuo;

    } else {
        (cola->ultimo)->siguiente=individuo;
        cola->ultimo=individuo;
    }

    return cola;
}
Exemple #2
0
void insertarFinal(tlista&l,telemento e){

    tnodo * nn;
    nn = new tnodo;
    nn->elemento = e;
    
    tposicion p;
    
    if (esVacia(l)){
    
        nn->sig = NULL;
        l = nn;
        
    }else{
    
        for (p = l; p->sig != NULL; p = p->sig) {
            
        }
        
        p->sig = nn;
        nn->sig = NULL;
    }
    

}
Exemple #3
0
 void insertarOrdenado (tlista &l, telemento e){

    tposicion p;
    tposicion pant;
    tnodo *nn;
    nn=new tnodo;
    nn->elemento=e;
    
    if (esVacia(l)){
    
        nn->sig=NULL;
        l=nn;
    
        
    }else{
        
        for (p=l->sig,pant=l; ((p!=NULL)&&(!((comparar(e, pant->elemento)==1)&&(comparar(e, p->elemento)==2)))) ; p=p->sig,pant=pant->sig) {
        
        }
        
        nn->sig=p;
        pant->sig=nn;
        
    
    }
    
    
}
Exemple #4
0
TipoElemento * primero (TipoCola cola)
{
    if (esVacia(cola)) {
        return NULL;
    }

    return (&(cola.primero->elemento));		
}
Exemple #5
0
bool modificarLista(tlista &l,telemento e){
    
    tposicion posicion;
    
    if (!esVacia(l)){
        
    posicion = buscarPosicion(l, e);
    
    modificarTarea(posicion->elemento);
        
    return true;
    } else
     return false;
}
Exemple #6
0
void quitar (TipoCola *cola)
{
    struct ElementoCola * individuo;

    if (! esVacia(*cola)) {

        /*  salir de la cola  */
        individuo=cola->primero;
        cola->primero=individuo->siguiente;
        if (cola->ultimo==individuo) {
            cola->ultimo=NULL;
        }

        /*  liberar la memoria  */
        free(individuo);
    }
}
Exemple #7
0
tposicion buscarPosicion (tlista l, telemento e){
    
    bool encontrado = false;
    tposicion p;
    p = l;
    
    if (!esVacia(l)){
        
    for (p = l; ((encontrado == false) && (p->sig != NULL)); p = p->sig) {
        
        if (comparar(e, p->elemento) == true){
        
            encontrado = true;
        }
        
    }


}
 
    return p;

}