Ich habe diesen Python-Code hier unten (für Bubble-Sort). Darunter ist mein Versuch, es in MATLAB-Code umzuwandeln. Ich bin neu bei MATLAB und mache die Konvertierung für die Praxis. Ich würde mich freuen Feedback darüber, wie genau/falsch meine Konvertierung ist.Python zu Matlab Conversion?
Die Python-Version:
def bubble_sort(alist):
return bubble_sort_helper(alist, len(alist))
def bubble_sort_helper(alist, n):
if n < 2:
return alist
for i in range(len(alist)-1):
if alist[i] > alist[i+1]:
temp = alist[i]
alist[i] = alist[i+1]
alist[i+1] = temp
return bubble_sort_helper(alist, n-1)
Mein Versuch einer MATLAB-Konvertierung:
function a = bubble_sort(alist)
a = bubble_sort_helper(alist, size(alist))
end
function b = bubble_sort_helper(alist, n)
if n < 2
b = alist
end
for ii = size(alist)
if alist(1) > alist (ii+1)
temp = alist(ii)
alist(ii) = alist(ii+1)
alist(ii+1) = temp
end
end
b = bubble_sort_helper(alistn n-1)
end
Ich habe vergessen, den Einzug unter die if-Anweisung für den Python-Code hinzuzufügen. Behebt das mit einer Bearbeitung, mein Fehler. –
Haben Sie getestet, ob Ihre Eingaben sortiert wurden? – Suever
1) Funktioniert es wie erwartet? 2) Warum ist es rekursiv? –