bis*_*uke 2 ruby arrays sorting comparison numbers
如果有人可以帮助我,我将非常感激.我想在这个数组上输入数字x [0,100]然后,打印整个数组,但里面的数字从最小到最大排序,不使用排序数组.
到目前为止我有这个代码,但是在进行比较时出现错误.请有人帮我这个吗?
x = [0,100]
print x
puts "\nInput any number from 0~100"
num = gets.to_i
x.push(num)
for i in 0..x.length-1
for j in 0..x.length-1
if x[j] < x[j+1]
swap = x[j]
x[j] = x[j+1]
x[j+1] = swap
end
end
end
p x
Run Code Online (Sandbox Code Playgroud)
无论最佳解决方案是什么,都会出现错误,因为您的第二个循环超出了界限:您将x [j + 1]调用到x.length-1,这意味着您最终调用x [ x.length]当最后一个元素是x [x.length - 1]时.
只需将"for 0 inx..x.length-1"替换为"for j in 0..x.length-2"
x = [0,100]
print x
puts "\nInput any number from 0~100"
num = gets.to_i
x.push(num)
for i in 0..x.length-1
for j in 0..x.length-2
if x[j] < x[j+1]
swap = x[j]
x[j] = x[j+1]
x[j+1] = swap
end
end
end
p x
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
732 次 |
| 最近记录: |