Diferentes formas de ordenar una array en orden descendente en C#

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 + " ");
        }
    }
}
Producción:

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 + " ");
        }
    }
}
Producción:

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 + " ");
        }
    }
}
Producción:

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 + " ");
        }
    }
}
Producción:

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 + " ");
        }
    }
}
Producción:

9 9 7 6 5 1

Publicación traducida automáticamente

Artículo escrito por Rajput-Ji y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *