fork download
  1. // ===++===
  2. //
  3. // OrtizOL
  4. //
  5. // ===--===
  6. /*============================================================
  7. //
  8. // Clase: UsoMetodosOrdenamiento.cs
  9. //
  10. // Propósito: Demostrar el uso de los métodos de
  11. // ordenamiento de arreglos y colecciones.
  12. //
  13. ============================================================*/
  14.  
  15. using System;
  16. using System.Collections;
  17. using System.Collections.Generic;
  18. using System.Linq;
  19.  
  20. namespace Recetas.Cap02
  21. {
  22. public class UsoMetodosOrdenamiento
  23. {
  24. const double CONSTANTE_EULER = 0.577215664901;
  25. const double MEDIA_AUREAL = 1.618033988;
  26. public static void Main()
  27. {
  28. // Creación de un arreglo estándar de double
  29. double[] arregloEstandar = {Math.PI, Math.E, CONSTANTE_EULER, MEDIA_AUREAL};
  30.  
  31. // Creación de un nuevo arreglo ordenado
  32. arregloEstandar = Enumerable.OrderBy(arregloEstandar, e => e).ToArray<double>();
  33.  
  34. // Presentación del contenido ordenado de arregloEstandar
  35. Console.WriteLine("Arreglo arregloEstandar ordenado: ");
  36. foreach (double d in arregloEstandar)
  37. {
  38. Console.WriteLine(d);
  39. }
  40.  
  41. // Creación de una lista genérico con tipos string
  42. List<string> lista = new List<String>();
  43. lista.Add("OrtizOL");
  44. lista.Add("Experiencias");
  45. lista.Add("Construcción");
  46. lista.Add("Software");
  47.  
  48. // Presentación de resultados ordenados de la lista
  49. Console.WriteLine("\nLista genérica ordenada:");
  50. foreach (string s in Enumerable.OrderBy(lista, e => e))
  51. {
  52. Console.WriteLine(s);
  53. }
  54.  
  55. // Cambiamos la expresión lambada para ordener por la longitud de la cadena
  56. Console.WriteLine("\nLista 'lista' ordenada por longitud de cadena: ");
  57. foreach (string s in Enumerable.OrderBy(lista, e => e.Length))
  58. {
  59. Console.WriteLine(s);
  60. }
  61.  
  62. // Creación de una lista ArrayList
  63. ArrayList al = new ArrayList();
  64. al.Add("Desarrollador");
  65. al.Add("Programador");
  66. al.Add("Arquitecto");
  67. al.Add("Analista");
  68.  
  69. // Ordenamiento del ArrayList 'al'
  70. al.Sort();
  71.  
  72. // Presentación contenido ordenado en 'al'
  73. Console.WriteLine("\nArrayList 'al' ordenado:");
  74. foreach (string s in al)
  75. {
  76. Console.WriteLine(s);
  77. }
  78.  
  79. }
  80. }
  81. }
Success #stdin #stdout 0.08s 34240KB
stdin
Standard input is empty
stdout
Arreglo arregloEstandar ordenado: 
0.577215664901
1.618033988
2.71828182845905
3.14159265358979

Lista genérica ordenada:
Construcción
Experiencias
OrtizOL
Software

Lista 'lista' ordenada por longitud de cadena: 
OrtizOL
Software
Experiencias
Construcción

ArrayList 'al' ordenado:
Analista
Arquitecto
Desarrollador
Programador