バブルソートの出力が正しくなされないので、手直しして頂きたい
解決したいこと
バブルソートでトレース結果も含めて、出力するプログラムを作りましたが、エラーは出ないのですが、トレース結果が正しく出力されません。正しく出力されるように手直しして頂きたいです。
入力
5
4 1 3 5 2
正しい出力結果
1 4 2 3 5
1 2 4 3 5
1 2 3 4 5
1 2 3 4 5
私のコードでの間違った出力結果
1 3 4 2 5
1 3 2 4 5
1 2 3 4 5
1 2 3 4 5
(入力、出力を書くのを忘れていました。すみません。)
発生している問題・エラー
エラーメッセージはありません。
該当するソースコード
def BUbblesort(A,N):
tmp = None
for i in range(N, 1, -1):
for j in range(i - 1):
if A[j] > A[j+1]:
tmp = A[j]
A[j] = A[j+1]
A[j+1] = tmp
print(*A)
N = int(input())
A = [int(x) for x in input().split()]
BUbblesort(A,N)
自分で試したこと
for文の範囲を変えてみましたが、出力結果は正しく出ませんでした。
0