ruby冒泡排序怎么写
3 回答
料青山看我应如是
TA贡献1772条经验 获得超8个赞
代码如下:
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]
翻翻过去那场雪
TA贡献2065条经验 获得超14个赞
关于各种排序算法(冒泡排序、SHELL排序、归并排序、快速排序等)、以及各种查找算法(顺序查找、二分查找等)的源代码,现在都有现成的数据结构教材(C语言版)可以参考。那上面都会有 C 语言版的源代码。只需要编写者根据自己的需要稍微对不同的程序需求稍作修改即可。
RISEBY
TA贡献1856条经验 获得超5个赞
对尚未排序的各元素从头到尾依次比较相邻的两个元素是否逆序(与欲排顺序相反),若逆序就交换这两元素,经过第一轮比较排序后便可把最大(或最小)的元素排好,然后再用同样的方法把剩下的元素逐个进行比较,就得到了你所要的顺序。可以看出如果有 n 个元素,那么一共要进行 n-1 轮比较,第 i 轮要进行 j=n-i 次比较。(如:有5个元素,则要进行5-1轮比较。第3轮则要进行5-3次比较)
- 3 回答
- 0 关注
- 564 浏览
添加回答
举报
0/150
提交
取消