0
버블 정렬 문제가 발생했습니다. 정확하게 3 개의 숫자를 정확하게 분류하기 때문에 작업에 매우 가깝게 보였다. 네 번째를 추가하면 다음과 같이 반환됩니다.배열 (루비)에 3 개 이상의 항목이있는 버블 정렬 오류
in `>': comparison of Fixnum with nil failed (ArgumentError)
디버그 모드로 시도했지만 문제가있는 곳을 잘 모르겠습니다. 내가 사용하고있는 수업은 재귀를 아직 다루지 않았으므로이 문제없이이 문제를 해결할 수 있다고 가정합니다. 내가 delete_at
을 추가 있도록
def bubble(array)
x=0
while array!=array.sort
if array[x]>array[x+1]
nu=array.slice(x)
array.delete_at(x)
array<<nu
else
x+=1
end
end
puts "Sorted array: #{array}"
end
slice
는 항목을 삭제되지 않았습니다. 당신이 배열의 경계를 확인 did't 때문에
왜 시간 n² 배열을 정렬됩니다했습니다 확인해야? 또한 Enumerable # sort와 bubble sort가 안정적이지 않으므로 루프 상태가 결코 false가 아닐 수도 있습니다. –