ruby冒泡排序怎么寫
2 回答

慕的地6264312
TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個贊
對尚未排序的各元素從頭到尾依次比較相鄰的兩個元素是否逆序(與欲排順序相反),若逆序就交換這兩元素,經(jīng)過第一輪比較排序后便可把最大(或最?。┑脑嘏藕?,然后再用同樣的方法把剩下的元素逐個進(jìn)行比較,就得到了你所要的順序??梢钥闯鋈绻?n 個元素,那么一共要進(jìn)行 n-1 輪比較,第 i 輪要進(jìn)行 j=n-i 次比較。(如:有5個元素,則要進(jìn)行5-1輪比較。第3輪則要進(jìn)行5-3次比較)

繁星coding
TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超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 關(guān)注
- 518 瀏覽
添加回答
舉報
0/150
提交
取消