Universidad de Costa Rica 
 | 
  
  | 
    
       
    
       
   | 
  
    
       
   | 
  
    
       
    
       
   | 
SelectionSort() para la lista
El objetivo de esta tarea programada es forzarle a usar especificación en lugar de implementación de la clase lista.
     
Tome la implementación de la lista doblemente enlazada 
vista en clase, y agréguele el método 
ADH_lst2::move_after() que permite trasladar un valor 
de la lista a otra posición.
void ADH_lst2::move_after(
    ADH_lst2::iterator from,
    ADH_lst2::iterator to   ) {
/*  resultado
    Traslada el valor que está en el sitio denotador por "from"
    para que quede después de "to".
    - Tanto "to" como "from" deben denotar valores almacenados en "*this".
    - Para trasladar un valor al principio de la lista, es necesario ponerlo
      después del primero, y luego poner al primero después del segundo.
*/
    nodo *t = to._p;
    nodo *f = from._p;
    if (t==0 || f==0 || t==f) {
        return;
    }
    {   // caso especial: from es el primero de la lista
        if (_prm == f) {
            _prm =  f->next;
        }
    }
    {   // desconecta "from"
        nodo *prv; prv = f->prev;
        nodo *nxt; nxt = f->next;
        if (prv != 0) {
            prv->next = nxt;
        }
        if (nxt != 0) {
            nxt->prev = prv;
        }
    }
    {   // enlaza a "from" después de "to"
        f->prev = t;
        f->next = t->next;
        t->next = f;
    }
} // ADH_lst2::move_after()
 | 
     
Primero debe corregir la implementación de 
ADH_lst2::move_after() para luego debe usarla para 
implementar el algoritmo de ordenamiento
SelectionSort().
Modifique el algoritmo para que trabaje sobre una lista, en lugar 
de trabajar sobre un vector.
     
Use los
iteradores
de la lista para
especificar
e
implementar
el algoritmo
SelectionSort(), pero evite acceder el
Rep de la 
lista. Si lo necesita, implemente también el método 
ADH_lst2::move_before().
Entregue su tarea por correo electrónico, como lo hizo anteriormente.
| Tiempo de entrega: | 7 días | 
    
  | 
|
| Primera etapa: | 3 días | ||
| Modalidad: | En parejas | 
  Adolfo Di Mare <adolfo@di-mare.com>.
    
       
   | 
  
    
       
   | 
  
    
       
   |