クイックソートコードに問題があります。私はコーディングとPython(Python 3.6)に新しいです、どんな助けも本当に感謝します。 Quick Sortオンラインのいくつかの実装を見てきましたが、私のコードで何が本当に間違っているかを知りたいのです。私の代わりに昇順にソートされたリストを取得する[8、2、5、4、1、3、6、7]の出力を取得してい上記入力についてクイックソートコードの問題
def Partition(A):
q = A[0]
i = 1
for j in range(1, len(A)):
if A[j] < q:
A[j], A[i] = A[i], A[j]
i = i + 1
A[0], A[i - 1] = A[i - 1], A[0]
return i - 1
def QuickSort(A):
if len(A) <= 1:
return A
else:
q = Partition(A)
QuickSort(A[ : q])
QuickSort(A[q + 1 : ])
return A
A = [7, 5, 4, 1, 3, 6, 2, 8]
Sorted = []
Sorted = QuickSort(A)
print(Sorted)
:私は以下の私のコードを貼り付けています。彼らが何かを返しますが、あなたは、彼らが返すものを無視し、それが失われています
QuickSort(A[ : q])
QuickSort(A[q + 1 : ])
:
何が間違っているのか、どのような出力が期待され、何を得ているのかを説明できますか?あなたのコードをダンプし、何が間違っているのかを尋ねるのは、スタックオーバーフローのためのトピック外です。 –
@StefanPochmannは私のコードを助けてください。 –