Visualizzazione dei risultati da 1 a 3 su 3

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2015
    Messaggi
    2

    Spiegazioni riguardo un pezzo di merge sort in java

    codice:
    private static void merge(int[] v, int[] v1, int[] v2) 
        {   
            int i = 0, i1 = 0, i2 = 0; 
            while (i1 < v1.length && i2 < v2.length) 
                if (v1[i1] < v2[i2]) 
                    // prima si usa i, poi lo si incrementa... 
                    v[i++] = v1[i1++];  ---> PERCHE' SI INCREMENTANO LE VARIABILI? 
                else 
                    v[i++] = v2[i2++];
    da qua in giù mi è chiaro
    codice:
            while (i1 < v1.length) 
                v[i++] = v1[i1++]; 
            while (i2 < v2.length) 
                v[i++] = v2[i2++]; 
        }
    ad esempio se avessi i due vettori A= {2,4} e B={1,3} se provassi a fare i passi del codice con carta e penna mi verrebbe che C={vuoto, 4, 3} perchè dato che l'indice di C, ossi " i " comincia da 1 il primo elemento sarebbe sempre vuoto, ed i primi elementi di A e B non verrebbero solo letti ma mai scritti dato che i loro indici vengono incrementati... mi potete spiegare questo fatto che proprio non riesco a capire?
    Ultima modifica di MItaly; 28-01-2015 a 14:42 Motivo: Tag CODE, sposto in sezione JAVA

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.