Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [VB2008EE] Riordinare un array bidimensionale

    Ho un array bidimensionale che devo riordinarlo in modo crescente.

    esempio:

    (4,13)---------------------(1,0)
    (1,3)-----------------------(1,1)
    (1,0)-----------------------(1,3)
    (4,0)--deve diventare--(3,1)
    (3,1)-----------------------(3,2)
    (1,1)-----------------------(4,0)
    (3,2)-----------------------(4,1)
    (4,1)-----------------------(4,13)

    I numeri tra parentesi rappresentano i valori contenuti nell'array in questione.

    Ho tentato varie strade ma non mi soddisfano pienamente.

    Avete qualche idea da suggerire?

  2. #2
    Risolto!

    Uso due cicli:

    Sia elenco(x,y) un array

    il primo ciclo riordina gli elementi dell'array usando come riferimento la x

    il secondo ciclo fa la stessa cosa con y su elementi con la stessa x.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    O, più semplicemente, puoi ordinare prima su tutta la colonna y e poi su tutta la colonna x.

  4. #4
    buona idea!

    Però entrambe le soluzioni richiedono 2 cicli distinti e francamente non credo che la tua proposta sia più semplice o veloce della mia.

    Grazie comunque, ne prendo nota.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    758
    Sì, ma la tua soluzione il ciclo su y lo fa tante volte quanti sono i diversi valori di x.
    Comunque, la mia non è un'idea originale, è che quando dovevo ordinare dei pacchi di schede perforate con una macchina che era in grado di ordinarle su una sola posizione, si partiva dalla colonna di valore più basso e si ripeteva l'operazione per tutte le altre colonne in senso crescente.
    (Scusate, scusate... sono sicuro che quasi nessuno sa di cosa sto parlando )


  6. #6
    Originariamente inviato da Grumpy
    Sì, ma la tua soluzione il ciclo su y lo fa tante volte quanti sono i diversi valori di x.
    Comunque, la mia non è un'idea originale, è che quando dovevo ordinare dei pacchi di schede perforate con una macchina che era in grado di ordinarle su una sola posizione, si partiva dalla colonna di valore più basso e si ripeteva l'operazione per tutte le altre colonne in senso crescente.
    (Scusate, scusate... sono sicuro che quasi nessuno sa di cosa sto parlando )

    La velocità con cui vengono riordinati i numeri dipende molto dall'algoritmo implementato...

    ve ne sono alcuni che con pochi passaggi creano l'ordine cercato, e sono in uso da diverso tempo. Basta cercare.

    Mi ricordo 3 tipi diversi di riordinamento quando usavo lo ZX Spectrum della Sinclair....25 anni fa.

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.