Domanda

Ispirato alla recente domanda sulle griglie 2D di Haskell, mi chiedo se sarebbe possibile creare una cerniera bidimensionale per tenere traccia di una posizione in un elenco di elenchi. Una cerniera unidimensionale in un elenco ci consente di spostarci davvero in modo efficiente localmente in un grande elenco (l'esempio comune è un editor di testo). Ma diciamo che abbiamo una seconda dimensione come questa:

grid = 
    [[ 1, 2, 3, 4, 5]
    ,[ 6, 7, 8, 9,10]
    ,[11,12,13,14,15]
    ,[16,17,18,19,20]
    ,[21,22,23,24,25]]

Possiamo creare una sorta di struttura dati con cerniera per muoversi in modo efficiente non solo a sinistra e a destra, ma su e giù nella griglia qui? In tal caso, cosa succede se sostituiamo l'elenco degli elenchi con un elenco infinito di elenchi infiniti, possiamo comunque ottenere un movimento efficiente?

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top