MATLABで挿入ソートを書いています。私は次のように自分の関数を呼び出しました:
>> A = [5 4 3 2 1]
A =
5 4 3 2 1
>> insertion_sort(A)
しかし、実行するとエラーが発生します
??? Attempt to reference field of non-structure array.
Error in ==> insertion_sort at 6
for j=2:original.length
これが私の元のコードです:
function sorted = insertion_sort(original)
for j=2:original.length
key = original(j);
i = j-1;
while i > 0 && original(i) > key
original(i+1) = original(i);
i = i-1;
end
original(i+1) = key;
end
sorted = original;
end
私が間違っていることを知っている人はいますか?