我将在此方法中降序编号整数
package sortarray;
public class start {
public static void main(String[] args) {
int [] numb={10,12,8,6,2};
sortarray(numb);
}
public static void sortarray(int [] input){
int max=input[0];
int [] sortmax=input;//i don't know how this array sortmax initialized first
for (int i=0;i<input.length;i++)
if(max<input[i]){
max=input[i];
sortmax[i]=max;//this array is not work
}
for (int j=0;j<sortmax.length;j++)
System.out.print(" "+sortmax[j]);
}
}
但是对于这种方法,(sortmax
)不起作用?
答案 0 :(得分:1)
我知道你想保留某种历史记录吗?
sortmax
只是引用您的输入数组,您在sortmax
input
上所做的一切。你需要这样做:
int[] sortmax = new int[input.length];
而不是int[] sortmax = input;
。
答案 1 :(得分:0)
你可以随时使用Arrays.sort()
,但如果目标是学习排序,那么蛮力(大型载体的速度慢)分拣机可能如下所示:
public void sort(int[] array){
int[] tempArray = new int[array.length]
int max;
int index;
for(int k = 0; k < array.length; k++){
for(int i = 0; i < array.length; i++){
if(max < array[i]){
max = array[i];
index = i;
}
}
tempArray[k] = array[index];
array[index] = Integer.MIN_VALUE;
}
array = tempArray;
}