Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Manual de Ordenamiento de Arreglos | Manipulación y Ordenamiento de Arreglos
Arreglos en C#

Manual de Ordenamiento de Arreglos

Desliza para mostrar el menú

La ordenación es una operación fundamental en programación porque ayuda a organizar los datos para hacer que la búsqueda, el análisis y la presentación de la información sean más eficientes. Aunque C# proporciona métodos integrados para ordenar arreglos, comprender cómo funcionan los algoritmos de ordenación ofrece una visión valiosa sobre el pensamiento algorítmico y la resolución de problemas. Los algoritmos de ordenación manual, como selection sort, permiten observar cómo se comparan y mueven los elementos, paso a paso, hasta lograr un arreglo ordenado. Esta comprensión es crucial en situaciones donde se necesita lógica de ordenación personalizada o se trabaja en entornos con soporte limitado de bibliotecas.

Note
Definición

Selection sort es un algoritmo de ordenación sencillo que selecciona repetidamente el elemento más pequeño (para orden ascendente) o el más grande (para orden descendente) de la parte no ordenada del arreglo y lo mueve a su posición correcta en la parte ordenada.

Program.cs

Program.cs

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
using System; namespace ConsoleApp { public class Program { public static void Main(string[] args) { int[] numbers = { 5, 2, 9, 1, 5, 6 }; Console.WriteLine("Original array:"); PrintArray(numbers); SelectionSortAscending(numbers); Console.WriteLine("Sorted array (ascending):"); PrintArray(numbers); } public static void SelectionSortAscending(int[] array) { int n = array.Length; for (int i = 0; i < n - 1; i++) { int minIndex = i; for (int j = i + 1; j < n; j++) { if (array[j] < array[minIndex]) { minIndex = j; } } int temp = array[i]; array[i] = array[minIndex]; array[minIndex] = temp; } } public static void PrintArray(int[] array) { foreach (int num in array) { Console.Write(num + " "); } Console.WriteLine(); } } }

El ordenamiento por selección funciona dividiendo el arreglo en una parte ordenada y una parte desordenada. En cada paso, selecciona el elemento más pequeño de la porción desordenada y lo intercambia con el primer elemento desordenado, aumentando así la parte ordenada en uno.

En el código anterior, se comienza recorriendo cada elemento del arreglo excepto el último. Para cada posición i, se busca el valor más pequeño en el resto del arreglo (desde i + 1 hasta el final). Cuando se encuentra un elemento más pequeño, se actualiza minIndex. Después del ciclo interno, se intercambia el elemento en la posición i con el elemento en minIndex, asegurando que el valor más pequeño quede en la posición actual. Este proceso se repite hasta que todo el arreglo esté ordenado en orden ascendente.

Program.cs

Program.cs

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
using System; namespace ConsoleApp { public class Program { public static void Main(string[] args) { int[] numbers = { 3, 8, 4, 7, 2, 9 }; Console.WriteLine("Original array:"); PrintArray(numbers); SelectionSortDescending(numbers); Console.WriteLine("Sorted array (descending):"); PrintArray(numbers); } public static void SelectionSortDescending(int[] array) { int n = array.Length; for (int i = 0; i < n - 1; i++) { int maxIndex = i; for (int j = i + 1; j < n; j++) { if (array[j] > array[maxIndex]) { maxIndex = j; } } int temp = array[i]; array[i] = array[maxIndex]; array[maxIndex] = temp; } } public static void PrintArray(int[] array) { foreach (int num in array) { Console.Write(num + " "); } Console.WriteLine(); } } }

El código define una clase Program con un método Main que demuestra cómo ordenar un arreglo de enteros en orden descendente utilizando ordenamiento por selección. Se comienza inicializando el arreglo numbers e imprimiendo su contenido original. Luego se llama al método SelectionSortDescending para ordenar el arreglo de mayor a menor. Este método funciona buscando repetidamente el valor máximo en la parte desordenada del arreglo e intercambiándolo con el primer elemento desordenado. Después de ordenar, el programa imprime el arreglo actualizado, mostrando los elementos organizados en orden descendente.

1. ¿Cuál es la complejidad temporal del ordenamiento por selección?

2. ¿En qué se diferencia el ordenamiento por selección del ordenamiento de burbuja?

3. ¿Por qué podrías implementar el ordenamiento manualmente en lugar de usar métodos incorporados?

question mark

¿Cuál es la complejidad temporal del ordenamiento por selección?

Selecciona la respuesta correcta

question mark

¿En qué se diferencia el ordenamiento por selección del ordenamiento de burbuja?

Selecciona la respuesta correcta

question mark

¿Por qué podrías implementar el ordenamiento manualmente en lugar de usar métodos incorporados?

Selecciona la respuesta correcta

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 3

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Sección 3. Capítulo 3
some-alt