[Java] Il paradigma degli array.
[Java] Il paradigma degli array.
Salve a tutti ho riscontrato molti problemi con gli array e sono giunto alla conclusione che non ho una infarinatura esatta che renda la mia mente flessibile alle richieste riguardanti gli array.
Ad esempio ora stò litigando (e non saprei come fare) con un array.
Avendo un array a devo spostare gli elementi di a in modo che gli elementi pari precedano quelli dispari, mantendo però l'ordine originale..
Mi piacerebbe ricevere non solo una risposta al mio dilemma ma anche dei link che spieghino bene gli array.
Grazie!!
Ad esempio ora stò litigando (e non saprei come fare) con un array.
Avendo un array a devo spostare gli elementi di a in modo che gli elementi pari precedano quelli dispari, mantendo però l'ordine originale..
Mi piacerebbe ricevere non solo una risposta al mio dilemma ma anche dei link che spieghino bene gli array.
Grazie!!
o.O
Re: [Java] Il paradigma degli array.
Se non ho capito male un array contenente questa sequenza di numeri:djblizart ha scritto: Salve a tutti ho riscontrato molti problemi con gli array e sono giunto alla conclusione che non ho una infarinatura esatta che renda la mia mente flessibile alle richieste riguardanti gli array.
Ad esempio ora stò litigando (e non saprei come fare) con un array.
Avendo un array a devo spostare gli elementi di a in modo che gli elementi pari precedano quelli dispari, mantendo però l'ordine originale..
Mi piacerebbe ricevere non solo una risposta al mio dilemma ma anche dei link che spieghino bene gli array.
Grazie!!
1 2 3 4 5 6 7 8 9
Ordinato secondo quello che chiedi diventerebbe:
2 4 6 8 1 3 5 7 9
Giusto?
Intando dà un occhiata a wikipedia che può aiutarti un po': http://it.wikipedia.org/wiki/Array_in_Java
Ultima modifica di Zoff il venerdì 5 settembre 2008, 13:19, modificato 1 volta in totale.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Re: [Java] Il paradigma degli array.
Ok, allora eccoti una soluzione volutamente "sbagliata" cioè assai poco performante e assai sprecona di memoriadjblizart ha scritto: Sì giustissimo..
Vedi tu se partendo da questa riesci ad arrivare ad una soluzione convincente...
Codice: Seleziona tutto
public class Sorter {
public static void main(String[] args) {
int[] vett = {1,2,3,4,5,6,7,8,9};
int[] pari = new int[vett.length];
int[] dispari = new int[vett.length];
int pi=0, di=0;
for(int i=0;i<vett.length;i++){
if(vett[i]%2==0){
pari[pi++] = vett[i];
}else{
dispari[di++] = vett[i];
}
}
for(int i=0;i<di;i++){
pari[pi+i]= dispari[i];
}
vett = pari;
}
}Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Re: [Java] Il paradigma degli array.
Scusa la mia ignoranza ma non basterebbe fare solamente (visto che l'array a è un dato passato):
public class paridispari ( int[] a) {
for(int i=0;i<vett.length;i++){
if(a%2==0){
pari[pi++] = vett;
}else{
dispari[di++] = vett;
}
O.o?
Solo che mi sembra troppo semplice come soluzione LoL
Inoltre la chiamata di Foo.paridispari(a); dovrebbe ritornare l'array ordinato..
public class paridispari ( int[] a) {
for(int i=0;i<vett.length;i++){
if(a%2==0){
pari[pi++] = vett;
}else{
dispari[di++] = vett;
}
O.o?
Solo che mi sembra troppo semplice come soluzione LoL
Inoltre la chiamata di Foo.paridispari(a); dovrebbe ritornare l'array ordinato..
o.O
Re: [Java] Il paradigma degli array.
Ipotizzando di sostituire "a" a "vett" nel tuo codice, rimane comunque il problema che a quel punto hai un array di pari ed uno di dispari, mentre quello che avevo capito che volevi era un array con all'inizio i pari e alla fine i dispari... e per fare ciò serve la seconda parte del mio codice...djblizart ha scritto: Scusa la mia ignoranza ma non basterebbe fare solamente (visto che l'array a è un dato passato):Codice: Seleziona tutto
public class paridispari ( int[] a) { for(int i=0;i<vett.length;i++){ if(a[i]%2==0){ pari[pi++] = vett[i]; }else{ dispari[di++] = vett[i]; }
O.o?
Solo che mi sembra troppo semplice come soluzione LoL
Inoltre la chiamata di Foo.paridispari(a); dovrebbe ritornare l'array ordinato..
PS: Essendo array facendo pari = vett; alla fine, aggiorni il puntatore per cui il chiamante avrà l'array già ordinato nella locazione di memoria puntata dal vettore passato come parametro...
Ultima modifica di Zoff il venerdì 5 settembre 2008, 13:44, modificato 1 volta in totale.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti

