Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static void sort(Integer[] array) {
- // save original reference
- Integer[] erg = array;
- Integer[] helperArray = new Integer[array.length];
- int mask = 1;
- // Only positive numbers allowed..
- for(int i = 0; i < 31; i++) {
- int pos = 0;
- for(int j = 0; j < array.length; j++) {
- if ((array[j] & mask) == 0)
- helperArray[pos++] = array[j];
- }
- for(int j = 0; j < array.length; j++) {
- if ((array[j] & mask) != 0)
- helperArray[pos++] = array[j];
- }
- assert pos == array.length;
- mask <<= 1;
- Integer[] temp = array;
- array = helperArray;
- helperArray = temp;
- }
- System.arraycopy(array, 0, erg, 0, erg.length);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement