[排序]地精排序算法实现

版权声明:转载请说明Zhonglihao原创 https://blog.csdn.net/xeonmm1/article/details/82956594
作者 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时间复杂度

猜你喜欢

转载自blog.csdn.net/xeonmm1/article/details/82956594