вывести массив в убывающем порядке
// Есть массив который надо отсортировать array[] = { 3, 7, 8, 1, 10 }
public static void sort(int[] array) {
//создаю временный массив tempArr = array
int [] tempArr = array; /* tempArr = { 3, 7, 8, 1, 10} */
Arrays.sort(temparr);
//сортирую..... tempArr = {1,3,7,8,10}
//пытаюсь вывести в обратном порядке. С этого момента видимо мое видиние расходится с кодом
for (int i = 0; i < tempArr.length ; i++) {
int temp = tempArr[tempArr.length-1-i];
array[i]=temp;
}
Как я вижу работу цикла
1 шаг: i=0 = > temp = tempArr[4] =10 = > array[0]=10
2 шаг: i=1 = > temp = tempArr[3] = 8 = > array[1] =8
3 шаг: i=2 = > temp = tempArr[2] = 7 = > array[1] =7
4 шаг: i=3 = > temp = tempArr[1] = 3 = > array[1] =3
5 шаг: i=4 = > temp = tempArr[0] = 1 = > array[1] =1
Как получается
ввожу к примеру 3, 7, 8, 1, 10
на выводе получаю 10, 8, 7, 8, 10