Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void sortByFour()
- {
- int zero = -1;
- int one = 0;
- int two = _arr.length;
- int three = _arr.length;
- while (one < two)
- {
- switch (_arr[one] % 4)
- {
- case 1: { one++; break; }
- case 0: { zero++; swap(zero,one); one++; break; }
- case 2: { two--; swap(one,two); break; }
- default: { two--; three--; swap(two,three); swap(three,one); break; }
- }
- }
- }
- private void swap(int a, int b)
- {
- int tmp = _arr[a];
- _arr[a] = _arr[b];
- _arr[b] = tmp;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement