每次循环后将最大数量更改为-1

时间:2017-04-13 15:16:39

标签: java arrays max

我需要查看一个数组并找到最大数字,然后将其更改为-1,然后再重复一次。

我使用while循环遍历数组并调用我构建的函数来查找最大数,然后替换它。

有更简单的方法吗?

这是我的代码:

public static void squarerootSort(int[] A1){
    int sqrt = (int)Math.ceil((int)Math.sqrt(A1.length));
    int []A2 = new int [sqrt];
    int index = 0;
    while(A1[FindMax(A1, 0, A1.length)] != -1){
        for (int i = 0; i <A2.length; i++) {
            A2[index++] = A1[FindMax(A1, i*sqrt,(i+1)*sqrt)];
        }
        System.out.println("The new array : " +Arrays.toString(A2));
        System.out.println("The max element is : " +A1[FindMax(A1, 0, A1.length)]);
        **A1[FindMax(A1, 0, A1.length)]=-1;**
        index =0;
        System.out.println(Arrays.toString(A1));
    }
}

0 个答案:

没有答案