Ich versuche, mir ein paar Sortieralgorithmen in Python beizubringen, und ich habe ein bisschen Probleme mit der Ausgabe. Ich versuche, eine Zählung Sortieralgorithmus zu implementieren, und ich habe so weit gekommen:Problem beim Implementieren eines Zählsortieralgorithmus
def counting_sort(l):
nums = l
highest = max(nums) + 1
helper_list = [0] * highest
s_list = []
for i in range(len(nums)):
value = nums[i]
helper_list[value] += 1
for j in range(len(helper_list)):
s_list.append([j] * helper_list[j])
return s_list
Alles wird fast in Ordnung, aber wenn ich gebe einen Eingang wie [5, 2, 2, 3, 1, 2]
.
Ich bekomme eine Ausgabe wie: [[], [1], [2, 2, 2], [3], [5]]
.
Vielen Dank guter Herr! Das hat mein Problem behoben. Also erweitert verkettet mit dem Wert beim Anhängen verkettet mit einer Liste des Wertes? – Cameron
Gern geschehen. s_list.append (x) fügt x (es könnte eine Liste, eine ganze Zahl oder eine andere Sache sein) zu s_list hinzu. Sie können Ihren Code ändern, um Append zu verwenden, wenn Sie jedes Element einzeln und nicht als Liste einfügen, und es wird weiterhin funktionieren. –