gpt4 book ai didi

arrays - 在数组上对输入的数字进行排序 - Ruby - 不使用 'sort'

转载 作者:数据小太阳 更新时间:2023-10-29 08:31:12 25 4
gpt4 key购买 nike

如果有人能帮助我,我将不胜感激。我想在这个数组 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

最佳答案

无论最佳解决方案是什么,您都会收到一个错误,因为您的第二个循环超出范围:您将 x[j+1] 调用到 x.length-1,这意味着您最终当最后一个元素是 x[x.length - 1] 时调用 x[x.length]。

只需将“for j in 0..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

关于arrays - 在数组上对输入的数字进行排序 - Ruby - 不使用 'sort',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33210626/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com