作者 | zhonglihao |
算法名 | 地精排序 Gnome Sort |
分类 | 排序 |
复杂度 | % 大概是1/2 * n^2时间复杂度 |
形式与数据结构 | Matlab代码 |
特性 | 如果有序则向前,无序则往后重拍,体现地精贪心的特性 |
具体参考出处 | 民间 |
备注 |
clear all;
clc;
% 地精排序
len = 1000;
data = rand(1,len);
circle_count = 0;
step_n = 1;
while(step_n < len)
circle_count = circle_count + 1;
if(step_n == 1 || data(step_n - 1)<=data(step_n))
step_n = step_n + 1;
else
temp = data(step_n);
data(step_n) = data(step_n - 1);
data(step_n - 1) = temp;
step_n = step_n - 1;
end
end
disp(circle_count);
% 大概是1/2 * n^2时间复杂度