Newsgroup: it.comp.java
Titolo: Ordinamento array.

Premetto non esiste ancora il JDK 1.2 per UP-UX. (quindi non ho a
disposizione metodo sort della classe Array ).
Esiste nel JDK 1.1.6 (versione HP) un qualche metodo x ordinare un array
di numeri ?
Devo implementare x forza un algoritmo di ordinamento ?
Grazie
Francesco
--
Posted from 
tlvsdy.vim.tlt.alcatel.it
 [151.98.8.244]
via Mailgate.ORG Server - 
http://www.mailgate.org


Non mi sembra che sia la fine del mondo
public void ordina(int[] ordinando) {
    for ( int i = 0 ; i < ordiando.length ; i ++) {
        for (int j = (i+1) ; j < ordinando.length ; j ++) {
            if (ordinando[i]>ordinando[j]) {
                int tmp = ordinando[i];
                ordinando[i]=ordinando[j];
                ordinando[j]=tmp;
            }
        }
    }
}
Penso che non l'abbiano implementato per lasciare libertà al programmatore
di usare l'algoritmo che più gli fa comodo.
Ciao.
----------------------------------------------------------------------------
-----------------------------------------------------------------------
Windows 98: 16 Millions lines of code that will never be debugged
----------------------------------------------------------------------------
-----------------------------------------------------------------------
bo...@iol.it

                 ordinando[j]=tmp;
Guardando questo codice mi e' tornato in mente un vecchio dubbio.
Secondo voi, in un ciclo, e' piu' efficente dichiarare ogni volta la
variabile tmp oppure dichiararla una volta sola all' inizio e poi
sostituirne ogni volta il valore ?
Facendo qualche prova terra terra ho avuto l' impressione che sia meglio
dichiararla ogni volta, ma la cosa mi lascia un po' perplesso.
Qualcuno sa esattamente come e' meglio fare ?
Ciao
-- 
7°)  e' AD&D: non farti nessuna domanda !  :)

 di usare l'algoritmo che più gli fa comodo.
Io penso che java.utils.Arrays.sort() sia un implementazione, e che l'algoritmo
quicksort faccia comodo a tutti i programmatori...

 sostituirne ogni volta il valore ? 
Se il ciclo e' racchiuso da graffe la var. tmp potrebbe essere "deallocata"
dal gc e
la prossima volta verrebbe nuovamente allocata->perdita di prestazioni.
Io l'ho cacciata.
-- 
 Signed: Paolo"Flag"Pisati            Be-Developer#E-17711
 "Resistence is not futile.Be."       "Death to false metal!!!"
 

 sostituirne ogni volta il valore ?
Con qualunque compilatore decente, queste ottimizzazioni sono automatiche -
esistono metodi formali per riogranizzare automaticamente il codice per
ottimizzare prestazioni/spazio usato/quello-che-vuoi.
Attenzione comunque: quello che dichiari a livello di sorgente non viene mai
tradotto "ciecamente" in codice oggetto - non ti puoi aspettare una
corrispondenza 1-1 delle istruzioni (soprattutto quelle dichiarative) ad alto
livello con l'assembly  (o il bytecode, anche se in questo caso e' meno
evidente), *specialmente* in codice ottimizzato.
Ottimizzazioni non automatiche si ottengono definendo la struttura
dell'algoritmo e considerando l'ambito di applicabiita' etc...
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/
       Search, Read, Discuss, or Start Your Own    

 Io l'ho cacciata.
Occhio, nel codice citato tmp e' di tipo "int". I tipi primitivi non sono
soggetti a garbage collection, ma hanno il solito scope delle variabili
automatiche C.


 automatiche C. 
vuoi dire che se definisco dei tipi primitivi(float,int,boolean,etcetc) essi
non sono +
referenzaibili all'uscita delle graffe che li racchiudono e vengono
deallocati solo 
all'uscita del processo?!!??
-- 
 Signed: Paolo"Flag"Pisati            Be-Developer#E-17711
 Resistance is not futile.Be.         Born to walk against the wind          
 

 all'uscita del processo?!!??
Esattamente.
Per lo scope, e' cosi. Per la politica di deallocazione, non so se la JVM
specification fornisce guideline precise o - come accade per i compilatori C -
la cosa e' lasciata all'ottimizzatore.


 Devo implementare x forza un algoritmo di ordinamento ?
Se non sbaglio trovi un javabean da Alphaworks:
http://www.alphaworks.ibm.com
Questo sito e' una vera miniera.
Ciao,
 Marco Bertini
/---------------------------------
| Marco Bertini - 
mber...@iname.com
| 
http://aguirre.dsi.unifi.it/~bertini