Gnome sort?
显示 更早的评论
I have a question about gnome sorts. I cannot seem to find a code anywhere on the internet that would give me some clue about how to going about creating a gnome sort. I have found this:
function list = gnomeSort(list)
i = 2;
j = 3;
while i <= numel(list)
if list(i-1) <= list(i)
i = j;
j = j+1;
else
list([i-1 i]) = list([i i-1]);
i = i-1;
if i == 1
i = j;
j = j+1;
end
end
end
but it tells me "Input argument "list" is undefined" so how would I go about fixing this? Any help would be greatly appreciated!
回答(2 个)
Walter Roberson
2012-2-20
0 个投票
Presumably "list" should be initialized to the list of values to be sorted.
Jan
2012-2-20
To learn the basics of Matlab read the Getting Started chapters in the documentation.
For this problem you have to define the input of the function, e.g.:
list = randperm(20);
list = gnomeSort(list)
3 个评论
Becky
2012-2-20
Jan
2012-2-20
The outer "for i=1" loop is not a loop, so avoid it.
I do not know what you want to achieve. Therefore it is hard to guess, how the code should be fixed.
Walter Roberson
2012-2-20
Perhaps there was a reason that the original code did not initialize i to 1 ?
类别
在 帮助中心 和 File Exchange 中查找有关 Shifting and Sorting Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!