我需要查看一个数组并找到最大数字,然后将其更改为-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));
}
}