java排序算法_008地精排序(Gnome Sort)

package wzs.sort;

import java.util.Arrays;

//地精排序(Gnome Sort) 最简单的排序算法 
public class Test_wzs004
{
    public static void main(String[] args)
    {
        int intArray[] =
        {
                10, 3, 5, 7, 9, 1, 4, 2, 6, 8
        };
        gnomesort(intArray.length, intArray);
        System.out.println("排序后:" + Arrays.toString(intArray));
    }

    /**
     * 地精排序
     * @param n 需要排序次数
     * @param ar 排序数组
     */
    static void gnomesort(int n, int ar[])
    {
        int i = 0;
        while (i < n)
        {
            if (i == 0 || ar[i - 1] <= ar[i])
            {
                i++;
            }
            else
            {
                int tmp = ar[i];
                ar[i] = ar[i - 1];
                ar[--i] = tmp;
            }
        }
    }
}


你可能感兴趣的:(算法,算法,java算法,经典算法,java经典算法)