私はPythonでCounting Sortアルゴリズムを実装していますが、負の数を含む配列では機能しません。誰か助けてくれますか?負数で動作するCountingSortを実装するにはどうすればよいですか?
def counting(nlist):
nlist = list(nlist)
size = len(nlist)
if size < 2:
return nlist
k = max(nlist)
counter = [0] * (k + 1)
for i in nlist:
counter[i] += 1
ndx = 0;
for i in range(len(counter)):
while 0 < counter[i]:
nlist[ndx] = i
ndx += 1
counter[i] -= 1
return nlist
あなたはwhileループ私はインデントに注意を払っていないコードを貼り付け、誤って – samgak
おかげで、インデントしました! – Patterson