在Ruby中使用冒泡法进行排序
2008-11-28 16:41
357 查看
代码如下:
def bubblesort(arr)
(arr.length-1).downto(1) do |j|
a1 = arr.dup
j.times do |i|
if arr[i] > arr[i+1]
arr[i],arr[i+1] = arr[i+1],arr[i]
end
end
break if a1 == arr
end
arr
end
puts bubblesort([5,4,3,2,1])
不过,其效率远低于数组的sort方法。
如果需要对数组排序,请使用下面的方法
[5,4,3,2,1].sort
def bubblesort(arr)
(arr.length-1).downto(1) do |j|
a1 = arr.dup
j.times do |i|
if arr[i] > arr[i+1]
arr[i],arr[i+1] = arr[i+1],arr[i]
end
end
break if a1 == arr
end
arr
end
puts bubblesort([5,4,3,2,1])
不过,其效率远低于数组的sort方法。
如果需要对数组排序,请使用下面的方法
[5,4,3,2,1].sort
相关文章推荐
- 使用for循环对数组进行排序[冒泡法]
- 使用一维数组进行简单排序(冒泡法)
- 使用“冒泡法”对输入数字进行排序
- 使用Collections.sort()对List/ArrayList进行排序 推荐
- 使用PLSQL对字符串进行排序
- 数据结构List实例(四):使用归并排序对单链表进行排序
- WebGIS中解决使用Lucene进行兴趣点搜索排序的两种思路
- Asp.net学习笔记----使用GridView+ObjectDataSource进行自定义分页排序
- JAVA中Arrays.sort()使用两种方式(Comparable和Comparator接口)对对象或者引用进行排序
- 使用comparator 将对象数组进行排序
- 使用施瓦茨变换(Schwartzian Transform)进行高速排序
- linux 中使用ls命令对文件进行排序-- 基于文件大小或者修改时间
- 由多个Object(以Teacher为例)对象所形成的数组可以使用Arrays.sort方法进行排序(编号由低到高排序)。
- 【RS】使用分级隐式反馈来进行贝叶斯个性化排序
- TreeSet 使用指定比较器进行排序
- (使用STL自带的排序功能进行排序)UVA 10905 Children's Game(求一组数据所能拼出的最大数字串)
- 【使用Ruby进行Web应用测试】---使用watir组件登陆imzc博客
- 使用直接插入排序原理对自定义的Vector进行排序
- 使用SPQuery进行条件查询和排序
- redis(二)redis实战 使用redis进行文章的排序