utilizando el sistema;
espacio de nombres lección14_selección ordenar
{
programa de clase
{
vacío estático principal (cadena [] argumentos)
{
Console.WriteLine("seleccionar orden");
Fundamentos de la clasificación de selección de #región
//8,7,1,5,4,2,6,3,9
//Crear un intermediario
//Encontrar el extremo (máximo o mínimo)
// poner en la posición de destino
// comparar n rondas
#endregion
#implementación del código de región
//Date cuenta de orden ascendente y pon el grande al final
int[] matriz = { 8, 7, 1, 5, 4, 2, 6, 3, 9 };
// comparar m rondas
for (int m = 0; m < arr.Length; m++)
{
//El primer paso es declarar un intermediario para registrar el índice
//Al comienzo de cada ronda, el primero es el valor extremo por defecto
índice int = 0;
//el segundo paso
// comparar secuencialmente
//El propósito de reducir m es excluir los números que se han colocado en la ronda anterior
for (int n = 1; n < arr.Length-m; n++)
{
//tercer paso
//Encontrar el extremo (valor máximo)
si (arr[índice] < arr[n])
{
índice = n;
}
}
//El cuarto paso pone la posición de destino
//longitud-1-número de rondas
//Si la posición del extremo actual es la posición de destino, no hay necesidad de intercambiar
if (index != arr.Length - 1 - m)
{
int temp = arr[índice];
arr[índice] = arr[arr.Longitud - 1 - m];
arr[arr.Longitud - 1 - m] = temp;
}
}
for (int i = 0; i < arr.Length; i++)
{
Console.Write(arr[i] + " ");
}
#endregion
//Resumir
//concepto basico
//Crear un intermediario
// comparar secuencialmente
//encontrar el extremo
// poner en la posición de destino
//Escritura rutinaria
// doble circuito
//Número de rondas exteriores
//búsqueda interna
//índice inicial
// registrar el valor extremo
//Intercambio de memoria fuera del ciclo
}
}
}