Gyakorlati alapok
Válogatások
Szétválogatás külön tömbbe
Az elemeket külön tömbbe tesszük. Ezen módszer gyors, praktikus és könnyen implementálható, hátránya viszont, hogy mindig kétszer akkora tömbméretet generál az eredetinél, amely nagy alapméret esetén már számottevő probléma lehet. Az eredményeket minimum 1 eredménytömbbe mentjük, hiszen a már meglévő alaptömböt is felhasználhatjuk szétválogatásra. Az új tömb:
int[] tombParatlan = new int[tomb.length];
Az eredetileg véletlenszámokat tároló alaptömb (int[] tomb) tehát a páros számok tárolójává válik, a páratlan számú elemek 0-val törlésre kerülnek. Az algoritmus végén mindkét tömb elemeit külön sorokban kilistázzuk. Nézzük meg a futtatható Java-kódos változatot:
import java.util.Random;
public class Main {
public static void main(String[] args) {
Random random = new Random();
int[] tomb = new int[10];
for(int i = 0; i < tomb.length; i++){
tomb[i] = random.nextInt(50) + 1;
System.out.print(tomb[i] + " ");
}
int[] tombParatlan = new int[tomb.length];
System.out.println();
for(int i = 0; i < tomb.length; i++){
if(tomb[i] % 2 != 0){
tombParatlan[i] = tomb[i];
tomb[i] = 0;
}
}
System.out.println();
for(int i = 0; i < tomb.length; i++){
System.out.print(tomb[i] + " ");
}
System.out.println();
for(int i = 0; i < tombParatlan.length; i++){
System.out.print(tombParatlan[i] + "
");
}
}
}
Végeredmény (például):
50 42 5 4 32 38 41 42 35 22
50 42 0 4 32 38 0 42 0 22
0 0 5 0 0 0 41 0 35 0
A 0 értékek könnyen eltüntethetők a listából:
import java.util.Random;
public class Main {
public static void main(String[] args) {
Random random = new Random();
int[] tomb = new int[10];
for(int i = 0; i < tomb.length; i++){
tomb[i] = random.nextInt(50) + 1;
System.out.print(tomb[i] + " ");
}
int[] tombParatlan = new int[tomb.length];
System.out.println();
for(int i = 0; i < tomb.length; i++){
if(tomb[i] % 2 != 0){
tombParatlan[i] = tomb[i];
tomb[i] = 0;
}
}
System.out.println();
for(int i = 0; i < tomb.length; i++){
if(tomb[i] !=
0){
System.out.print(tomb[i] + " ");
}
}
System.out.println();
for(int i = 0; i < tombParatlan.length; i++){
if(tombParatlan[i] != 0){
System.out.print(tombParatlan[i] + " ");
}
}
}
}
Végeredmény (például):
24 26 6 40 29 14 49 44 5 44
24 26 6 40 14 44 44
29 49 5