Una array es un grupo de variables del mismo tipo a las que se hace referencia con un nombre común. Y cada elemento de datos se llama un elemento de la array. La disposición de los elementos de la array de mayor a menor se denomina clasificación de la array en orden descendente.
Ejemplos:
Input : array = {5, 9, 1, 4, 6, 8}; Output : 9, 8, 6, 5, 4, 1 Input : array = {1, 9, 6, 7, 5, 9}; Output : 9 9 7 6 5 1 Input : array = {-8, 9, 7, 7, 0, 9, -9}; Output : 9 9 7 7 0 -8 -9
Método 1: usar el método Array.Sort() y Array.Reverse()
Primero, ordene la array usando el método Array.Sort() que ordena una array en orden ascendente y luego inviértala usando el método Array.Reverse() .
// C# program sort an array in decreasing order // using Array.Sort() and Array.Reverse() Method using System; class GFG { // Main Method public static void Main() { // declaring and initializing the array int[] arr = new int[] {1, 9, 6, 7, 5, 9}; // Sort array in ascending order. Array.Sort(arr); // reverse array Array.Reverse(arr); // print all element of array foreach(int value in arr) { Console.Write(value + " "); } } }
9 9 7 6 5 1
Método 2: usar el método CompareTo()
También puede ordenar una array en orden decreciente usando el método CompareTo().
// C# program sort an array in // decreasing order using // CompareTo() Method using System; class GFG { // Main Method public static void Main() { // declaring and initializing the array int[] arr = new int[] {1, 9, 6, 7, 5, 9}; // Sort the arr from last to first. // compare every element to each other Array.Sort<int>(arr, new Comparison<int>( (i1, i2) => i2.CompareTo(i1))); // print all element of array foreach(int value in arr) { Console.Write(value + " "); } } }
9 9 7 6 5 1
Método 3: Usando el delegado
Aquí, primero Sort() el delegado usando un método anónimo.
// C# program sort an array // in decreasing order using System; class GFG { // Main Method public static void Main() { // declaring and initializing the array int[] arr = new int[] {1, 9, 6, 7, 5, 9}; // Sort the arr from last to first // Normal compare is m-n Array.Sort<int>(arr, delegate(int m, int n) { return n - m; }); // print all element of array foreach(int value in arr) { Console.Write(value + " "); } } }
9 9 7 6 5 1
Método 4: Usar la forma iterativa
Ordene una array sin usar ninguna función incorporada de forma iterativa.
// C# program sort an array // in decreasing order using // iterative way using System; class GFG { // Main Method public static void Main() { // declaring and initializing the array int[] arr = new int[] {1, 9, 6, 7, 5, 9}; int temp; // traverse 0 to array length for (int i = 0; i < arr.Length - 1; i++) // traverse i+1 to array length for (int j = i + 1; j < arr.Length; j++) // compare array element with // all next element if (arr[i] < arr[j]) { temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } // print all element of array foreach(int value in arr) { Console.Write(value + " "); } } }
9 9 7 6 5 1
Método 5: Uso de LINQ descendente
LINQ significa Language Integrated Query. Es una sintaxis de consulta uniforme que se utiliza para recuperar y guardar los datos de las diferentes fuentes. Aquí, el método de clasificación OrderByDescending se utiliza para la clasificación en orden descendente. LINQ devuelve IOrderedIEnumerable , que se convierte en Array usando el método ToArray() .
// C# program sort an array in decreasing // order by using LINQ OrderByDescending // method using System; using System.Linq; class GFG { // Main Method public static void Main() { // declaring and initializing the // array with 6 positive number int[] arr = new int[] {1, 9, 6, 7, 5, 9}; // Sort the arr in decreasing order // and return a array arr = arr.OrderByDescending(c => c).ToArray(); // print all element of array foreach(int value in arr) { Console.Write(value + " "); } } }
9 9 7 6 5 1