ruby实现的插入排序和冒泡排序算法
作者:
最近刚开始学ruby为了练习一下基本语法的使用,用ruby写了一下插入排序算法,可能有些从C#翻译过来的痕迹
1、插入排序
复制代码 代码如下:
seq = [3,4,9,0,2,5,9,7,1]
1.upto(seq.length-1) do |i|
if seq[i] < seq[i-1]
tmp = seq[i]
j = i-1
while(j>=0 && tmp<seq[j]) do
seq[j+1] = seq[j]
j=j-1
end
seq[j+1]=tmp
end
end
seq.each {|num| puts num}
2、冒泡排序
复制代码 代码如下:
seq = [3,4,9,0,2,5,9,7,1,100,99,24,64,18,88,66]
0.upto(seq.length-1) do |i|
exchange = false
0.upto(seq.length-1-i-1) do|j|
if seq[j]>seq[j+1]
tmp = seq[j+1]
seq[j+1] = seq[j]
seq[j] = tmp
exchange = true
end
end
if !exchange
break
end
end
seq.each {|num| puts num}