Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683

    ordinare array bidimensionali

    ciao a tutti! aiutatemi a capire la logica, anche senza codice (se volete mettere il codice meglio) per risolvere questo mio problema:
    Ho un array bidimensionale e vorrei ordinarlo non su una colonna ma bensì su due...
    per esempio se avessi questo array in ordine sparso come:
    [1,1]
    [0,3]
    [0,2]
    [1,2]
    [0,1]

    dovrebbe diventarmi:
    [0,1]
    [0,2]
    [0,3]
    [1,1]
    [1,2]

    sono in ordine crescente tutte e due le colonne dando la priorità alla prima... come si fa?

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    su un campo ci riesco... ma farlo anche sul secondo no
    Ho usato il Quicksort, trasformare il codice per usare array bidimensionali al posto di monodimensionali è stato facile, gli dico di ordinare l'array nella colonna 2 per esempio, ma dirgli 2 e 3 non riesco, non so come modificarlo

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    usando il bubble sort son riuscito
    meno ottimizzato ma va almeno
    codice:
    function ordina(list)
    {
    	var n=list.length, i,j,j1;
    	for(i=0;i<n;i++)
    	{
    		for(j=0;j<n-1;j++)
    		{
    			j1=parseInt(j)+parseInt(1);
    			if(list[j][0] > list[j1][0] || (list[j][0]==list[j1][0] && list[j][1] > list[j1][1]))
    			{
    				var tmp=list[j];
    				list[j]=list[j1];
    				list[j1]=tmp;
    			}
    		}
    	}
    	return list;
    }

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    codice:
      var arr = [[1,1],[0,3],[0,2],[1,2],[0,1]];
      document.write(arr.sort(pippo));
      function pippo(a,b){ return (a[0]>b[0])?1:(a[0]<b[0])?-1:(a[1]>b[1])?1:-1; }
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    1,683
    cavolo! ottimizzato non riesco a leggerla, sono le espressioni regolari queste?

  6. #6
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.