Salve.
Ho un piccolo problema da risolvere.
Ho un vettore (di massimo 10 elementi) che contiene, per ogni indice, un altro indice a cui fare riferimento (sempre all'interno del vettore).
Il riferimento è biettivo quindi se la casella 2 punta alla 3, allora anche la 3 deve puntare alla 2 ecc...
Es:
pippo[0] = 2;
pippo[1] = 3;
pippo[2] = 0;
pippo[3] = 1;
Il problema è questo. L'utente potrebbe voler cambiare questa associazione. L'algoritmo che devo creare, deve aggiornare il vettore mantenendo le associazioni correttamente. Poniamo che l'utente voglia che pippo[3] punti a pippo[2], la situazione finale deve essere:
pippo[0] = 1;
pippo[1] = 0;
pippo[2] = 3;
pippo[3] = 2;
In pratica devono aggiustarsi anche gli altri indici coinvolti che ovviamente non possono riferirsi a se stesso (quindi pippo[0] = 0; non è consentito).
Così a prima vista, mi viene il sospetto che occorra risolverlo con la ricorsione, come sul modello della Torre di Hanoi.
Voi cosa suggerite?
Per quanto concerne il linguaggio, devo realizzarlo in Javascript ma essendo un algoritmo di manipolazione di array, qualsiasi linguaggio che utilizzi sitnassi standard e manipolazione standard dei vettori, è accettabile.
Grazie e alla prossima...