Ruby 冒泡排序算法实现详解
以下是使用 Ruby 编写的冒泡排序算法:
def bubble_sort(arr)
n = arr.length
# 循环n次来确保数组中的每个元素都被处理
n.times do |i|
# 从第一项开始比较前后元素
(n - i - 1).times do |j|
if arr[j] > arr[j+1]
# 如果前一个元素比后一个元素大,则交换它们的位置
arr[j], arr[j+1] = arr[j+1], arr[j]
end
end
end
arr
end
# 示例
arr = [64, 34, 25, 12, 22, 11, 90]
puts bubble_sort(arr).inspect
# 输出:[11, 12, 22, 25, 34, 64, 90]
代码解释:
bubble_sort(arr)函数接受一个数组arr作为参数。- 循环
n次,其中n是数组的长度。这确保了每个元素都被比较和排序。 - 在每次迭代中,循环比较相邻元素。如果前一个元素大于后一个元素,则交换它们的位置。
- 循环结束时,数组将被排序。
示例:
代码示例演示了如何使用 bubble_sort 函数对一个数组进行排序。结果显示排序后的数组 [11, 12, 22, 25, 34, 64, 90]。
总结:
本文提供了使用 Ruby 实现冒泡排序算法的代码示例,并解释了代码逻辑和算法原理。希望本文能够帮助您更好地理解冒泡排序算法及其实现。
原文地址: http://www.cveoy.top/t/topic/lE7K 著作权归作者所有。请勿转载和采集!