Программа на Java для сортировки элементов массива в порядке убывания

Опубликовано: 1 Декабря, 2021

Отсортируйте данный массив в порядке убывания, т.е. расположите элементы от наибольшего к наименьшему. Сортировка - это процесс систематического расположения элементов. sort () - это встроенная функция из java.util.Arrays, которая используется для сортировки массива элементов с оптимизированной сложностью.

Пример:

 Ввод: массив = {2, 6, 23, 98, 24, 35, 78}
Вывод: [98, 78, 35, 24, 23, 6, 2]

Ввод: массив = {1, 2, 3, 4, 5}
Вывод: [5, 4, 3, 2, 1]

Подход №1:

Элементы массива можно отсортировать в порядке убывания, передав массив и Collections.reverseOrder () в качестве параметров в Arrays.sort ().

Примечание . Следует иметь в виду, что при сортировке в порядке убывания Arrays.sort () не принимает массив данных примитивного типа.

Выполнение:

Ява

// Java program to sort the elements in descending order
import java.util.*;
class GFG {
public static void main(String[] args)
{
// Initializing the array
Integer array[] = { 1 , 2 , 3 , 4 , 5 };
// Sorting the array in descending order
Arrays.sort(array, Collections.reverseOrder());
// Printing the elements
System.out.println(Arrays.toString(array));
}
}
Выход
 [5, 4, 3, 2, 1]

Сложность времени: O (N logN)

Подход №2:

  1. Отсортируйте данный массив.
  2. Обратить отсортированный массив.

Ниже представлена реализация описанного выше подхода:

Ява

// Java program to sort the elements in descending order
import java.util.*;
class GFG {
public static void main(String[] args)
{
// Initializing the array
int array[] = { 1 , 2 , 3 , 4 , 5 , 6 };
// Sorting the array in asscending order
Arrays.sort(array);
// Reversing the array
reverse(array);
// Printing the elements
System.out.println(Arrays.toString(array));
}
public static void reverse( int [] array)
{
// Length of the array
int n = array.length;
// Swaping the first half elements with last half
// elements
for ( int i = 0 ; i < n / 2 ; i++) {
// Storing the first half elements temporarily
int temp = array[i];
// Assigning the first half to the last half
array[i] = array[n - i - 1 ];
// Assigning the last half to the first half
array[n - i - 1 ] = temp;
}
}
}
Выход
 [6, 5, 4, 3, 2, 1]

Сложность времени: O (N logN)

Вниманию читателя! Не прекращайте учиться сейчас. Ознакомьтесь со всеми важными концепциями Java Foundation и коллекций с помощью курса "Основы Java и Java Collections" по доступной для студентов цене и будьте готовы к работе в отрасли. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .