de linuxmanr4, 4 años han pasado desde su publicación, escrito en Ruby.
Enlace corto
http://gw.gd/xChe
Insertar vínculo
  1. #!/usr/bin/env ruby
  2.  
  3. # Aprendiendo ruby de mala manera.
  4. # ================================
  5. #
  6. # Algoritmo de ordenamiento de burbuja
  7. #
  8. # Aclaración:
  9. # Ruby es un lenguaje que tiene muchas ventajas, incluyendo metodos de
  10. # ordenamiento, sin embargo, como una forma de irme familiarizando con el
  11. # lenguaje haré algoritmos clásicos de ordenamiento.
  12. #
  13. # Si quieren conocer más detalles sobre este algoritmo, pueden consultar
  14. # la wikipedia http://en.wikipedia.org/wiki/Bubble_sort
  15. #
  16. # a y b son arreglos idénticos.
  17. #
  18. # autor: Francisco J. de la Torre (aka LinuxmanR4) web: http://linuxmar4.com
  19. # sáb 25 may 2013 12:19:30 CDT
  20.  
  21. a = [99,86,48,16,82,50,25,62,8,45]  #Será ordenado mediante bubble sort
  22. b = [99,86,48,16,82,50,25,62,8,45]  #Al estilo Ruby
  23.  
  24. # Empezamos con el ordenamiento burbuja en el arreglo a.
  25. # ------------------------------------------------------
  26.  
  27. # ¿Cuantos elementos tiene el arreglo?
  28. n = a.count - 1
  29.  
  30. # count es un método, en este caso regresa 10 pero el indice del arreglo
  31. # empieza en cero o sea, de cero a nueve, por eso le quito uno.
  32.  
  33. # Los índices en ruby comienzan en cero, por eso a[0] = 99 , a[1] = 86
  34.  
  35. begin
  36.         intercambio = false
  37.         i = 1
  38.         while i <= n do
  39.                 if a[i-1] > a[i] # Si se cumple la condición, entonces intercambiamos.
  40.                         aux = a[i-1]
  41.                         a[i-1] = a[i]
  42.                         a[i] = aux
  43.                         intercambio = true
  44.                 end # if
  45.         i +=1 # El equivalente a i = i + 1
  46.         end #while i
  47.  
  48. end while intercambio == true # Este ciclo se ejecuta mientras haga intercambios.
  49.  
  50. # Llegó el momento de mostrar los resultados.
  51.  
  52. # Arreglo ordenado con bubble sort.
  53. # join lo uso para mostrar el arreglo separado por comas.
  54.  
  55. puts "a = " << a.join(" , ")
  56.  
  57. # Ahora la forma ruby.
  58. puts "b = " << b.sort.join(" , ")

Respuestas a Bubble Sort en Ruby rss

Título Nombre Lenguaje cuando
Re: Bubble Sort en Ruby by GW linuxmanr4 ruby 4 años han pasado desde su publicación.