ruby冒泡排序怎么写
2 回答
慕的地6264312
TA贡献1817条经验 获得超6个赞
对尚未排序的各元素从头到尾依次比较相邻的两个元素是否逆序(与欲排顺序相反),若逆序就交换这两元素,经过第一轮比较排序后便可把最大(或最小)的元素排好,然后再用同样的方法把剩下的元素逐个进行比较,就得到了你所要的顺序。可以看出如果有 n 个元素,那么一共要进行 n-1 轮比较,第 i 轮要进行 j=n-i 次比较。(如:有5个元素,则要进行5-1轮比较。第3轮则要进行5-3次比较)
繁星coding
TA贡献1797条经验 获得超4个赞
代码如下:
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]
- 2 回答
- 0 关注
- 478 浏览
添加回答
举报
0/150
提交
取消