我一直在研究Java数组,并尝试创建自己的SortArray()函数,而不是使用别人的。如果我传递数组 [1,2,3,4,5]进入SortArray()函数,它应该返回另一个数组[5,4,3,2,1],将数组从高到低排序。相反,该函数返回与参数中的数组完全相同的数组。我评论了每个代码块在代码中应该做什么,如果你发现了什么,请告诉我!
public static int[] sortArray(int[] array) {
//Declare the highest value found so far
int highest;
//loop through every index in the array
for (int minIndex = 0; minIndex < array.length; minIndex++) {
//Set the current highest value to the first index
highest = array[minIndex];
//loop through every index past the minimum to check if there is a higher numer
//do not check the indexes before the minIndex
for (int i = 0 + minIndex; i < array.length; i++) {
//Check to see if the current index is higher than the highest
//if so, make that value the new highest and loop again from the next index
if (array[i] > highest) {
highest = array[i];
minIndex ++;
}
}
}
return array;
}
答案 0 :(得分:1)
你根本不会改变array
。你也不会在array
中改变元素。你只是跟踪最高的是什么。然后highest
消失,因为范围消失了。