Dati due array ordinati di lunghezza qualsiasi, generare un terzo arraySomma che contiene tutti gli elementi dei primi due array in sequenza ordinata.

 byte array1[] = {1, 3, 5, 7, 9, 9};
 byte array2[] = {2, 3, 4, 6, 6, 8, 10};
 byte arraySomma[] = new byte[array1.length+array2.length];

 byte index1=0;
 byte index2=0;
 boolean array1Terminato=false;
 boolean array2Terminato=false;

 for (byte index=0; index<arraySomma.length; index++)
 {
  if ((array1[index1]<=array2[index2] || array2Terminato) && !array1Terminato)
  {
   arraySomma[index]=array1[index1];
   if (index1<array1.length-1)
    index1++;
   else
    array1Terminato=true;
  }
  else
  {
   arraySomma[index]=array2[index2];
   if (index2<array2.length-1)
    index2++;
   else
    array2Terminato=true;
  }
 }

 // testiamo!
 for (byte index=0; index<arraySomma.length; index++)
  System.out.println(arraySomma[index]);

Visualizza codice completo

About OpenProgrammers

Programmatore per passione. Mi piace condividere qualsiasi idea o informazione utile, per questo motivo ho realizzato il blog.