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

    Spiegazione di un concetto di un Array.

    Salve a tutti!!
    Quando svolgo un problema su un Array,avvolte devo prendere l'ultimo valore che si trova alla fine dell' Array.
    es: [3 4 5 6 7 8]

    Io devo prendere il valore 8 e metterlo nel posto 3, ovvero v[0] spostarlo in v[5].

    in un problema,dove mi chiede di scambiare i valori con quello successivo io faccio così :

    public static int[] oridino(int v[]){
    for(int i=0;i<v.length-1;i++){
    v[i]=v[i+1];
    }
    return v;
    }

    poi quando mi visualizza un array mi vengono 2 numeri uguali. Es:
    [3 4 5 6 7 8] con quel metodo mi viene:
    [4 5 6 7 8 8]
    Il problema l ho capito, arrivato all'indice v[5] nn mi legge il valore 3. come posso fare secondo voi??
    mi dovrebbe venire questo array:
    [4 5 6 7 8 3]

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Spiegazione di un concetto di un Array.

    Originariamente inviato da simodance
    Io devo prendere il valore 8 e metterlo nel posto 3, ovvero v[0] spostarlo in v[5].
    Se devi scambiare due valori in un array, in generale devi avere una tua variabile temporanea di "appoggio": dati 2 valori X e Y nell'array salvi X nella variabile temporanea T, assegni Y ad X e poi assegni T a Y.

    Per tipi primitivi interi si potrebbe usare il noto barbatrucco dello XOR ... ma non stiamo ora a pensarci perché è una cosa troppo particolare (nonché "fine").
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    andbin!!
    Ti ringrazio =) ho fatto come dici tu!! è soltanto una questione di appogioXD

    GRazie ancora!!

  4. #4
    Aspetta!!! però come faccio a scambiare l'ultimo valore con il primo cioè:
    [1 2 3 4 5]
    [2 3 4 5 1]
    5 come fà a diventare 1??? =)

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da simodance
    Aspetta!!! però come faccio a scambiare l'ultimo valore con il primo cioè:
    [1 2 3 4 5]
    [2 3 4 5 1]
    5 come fà a diventare 1??? =)
    Ma hai i due indici?? Perché è questo che conta. E se devi fare un algoritmo di ordinamento, 1 solo ciclo for non basta di certo.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    a ecco! io utilizzavo un solo ciclo for!! quindi mi conviene utilizzare due cicli for: La domanda è come si fa?? =) sono ancora un principiante mi devi capire XD.
    E' come un array di array??cioè, 2 cicli che si intrecciano , o prima uno e poi un altro??

    Ps: ma il comando v[i]=v[v.lenght] significa che un valore che si trova nella posizione [i] è uguale all'ultimo posto della dimensione dell'Array? Es:
    [1 2 3 4]
    v[i]=1
    v[v.length]=4
    é vero??

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da simodance
    a ecco! io utilizzavo un solo ciclo for!! quindi mi conviene utilizzare due cicli for: La domanda è come si fa?? =)
    Beh ma quale algoritmo di ordinamento vuoi usare?? Ne esistono una marea di quelli "noti": bubblesort, quicksort, mergesort, shellsort, ecc....
    Il più semplice, banale (e meno efficiente) è il bubblesort:

    http://it.wikipedia.org/wiki/Bubblesort

    Originariamente inviato da simodance
    Ps: ma il comando v[i]=v[v.lenght]
    Sarebbe comunque sbagliato, perché con v.length l'indice è "fuori" dall'array perché indica la lunghezza dell'array. Se la lunghezza è 4, puoi accedere agli indici 0...3 ma non appunto 4.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.