Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Random;
- class Main {
- public static void main(String[] args) {
- System.out.print("Input:");
- for (String arg : args) {
- System.out.print(" " + arg);
- }
- System.out.println();
- Main.randSort(args);
- // Main.assumeSort(args);
- System.out.print("Sorted:");
- for (String arg : args) {
- System.out.print(" " + arg);
- }
- System.out.println();
- }
- public static void randSort(String[] arr) {
- while (!Main.isSorted(arr)) {
- Main.shuffle(arr);
- }
- }
- public static void assumeSort(String[] arr) {
- if (!Main.isSorted(arr)) {
- throw new RuntimeException("sorted array assumed");
- }
- }
- private static boolean isSorted(String[] arr) {
- for (int i = 1; i < arr.length; i++) {
- if (arr[i-1].compareTo(arr[i]) > 0) {
- return false;
- }
- }
- return true;
- }
- static void shuffle(String[] arr) {
- Random rng = new Random();
- for (int i = 0, length = arr.length; i < length; i++) {
- int pos = rng.nextInt(length);
- String tmp = arr[pos];
- arr[pos] = arr[i];
- arr[i] = tmp;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement