import java.util.Random;
import java.util.Random;
class integer {
// this class is created to pass the array as a reference
int array[] = { 55, 44 };
}
public class shuffle {
public static void main(String[] args) {
integer object = new integer();
shuffleByRandomSwapping(object.array, 2);
printAll(object.array);
}
static void printAll(int array[]) {
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
static void shuffleByRandomSwapping(int array[], int amount) {
Random generator = new Random();
if (array.length == 1) {
// no meaning of swapping
return;
} else
for (int i = 0; i < amount; i++) {
if (array.length == 2) {
if (amount % 2 != 0) {
// just a simple swap
int temp = array[0];
array[0] = array[1];
array[1] = temp;
} else {
// no effective swapping takes place
return;
}
} else {
int index1 = generator.nextInt(array.length);
int index2 = generator.nextInt(array.length);
while (index1 == index2) {
// if index1==index2 no swapping takes place
index2 = generator.nextInt(array.length);
}
int temp = array[index1];
array[index1] = array[index2];
array[index2] = temp;
}
}
}
}
Friday, June 10, 2011
Shuffle int array java - random swapping
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment