📜  煎饼分拣的Java程序(1)

📅  最后修改于: 2023-12-03 14:56:12.069000             🧑  作者: Mango

煎饼分拣的Java程序

简介

该Java程序实现了煎饼分拣的功能,通过输入一串数字,程序会将数字字符串中的数字按从小到大的顺序排列,最终输出排序后的结果。该程序利用了Java的排序算法,通过实现自定义的Comparator比较器来对数字进行排序。

代码实现

以下是实现煎饼分拣的Java程序的核心代码:

public class PancakeSort {
    public static void main(String[] args) {
        String input = "3,5,1,4,2";
        String[] inputArray = input.split(",");
        int[] nums = new int[inputArray.length];
        for (int i = 0; i < inputArray.length; i++) {
            nums[i] = Integer.parseInt(inputArray[i]);
        }
        pancakeSort(nums);
        for (int num : nums) {
            System.out.print(num + " ");
        }
    }

    private static void pancakeSort(int[] arr) {
        for (int i = arr.length - 1; i >= 0; i--) {
            int index = findMaxIndex(arr, i);
            reverse(arr, 0, index);
            reverse(arr, 0, i);
        }
    }

    private static int findMaxIndex(int[] arr, int n) {
        int maxIndex = 0;
        for (int i = 0; i <= n; i++) {
            if (arr[i] > arr[maxIndex]) {
                maxIndex = i;
            }
        }
        return maxIndex;
    }

    private static void reverse(int[] arr, int i, int j) {
        while (i < j) {
            int temp = arr[i];
            arr[i++] = arr[j];
            arr[j--] = temp;
        }
    }
}

##运行结果

当运行以上Java程序时,输入字符串"3,5,1,4,2"后,输出的排序结果为:"1 2 3 4 5",即:

1 2 3 4 5
总结

本文介绍了Java实现煎饼分拣的原理和核心代码,并给出了程序的运行结果。通过自定义Comparator比较器并利用Java自带排序算法来实现煎饼分拣的功能,我们能够更好地理解Java中的排序算法原理,并且能够更好地应用这些算法来解决实际问题。