地精排序

简介: 快速学习地精排序

地精排序

思路:回溯

例如:arr=1,3,5,2,4

1.首先进行遍历,建立标记i=0;当a[i-1]

2.i=1,3<5,i++;

3.5>2,进行交换,然后回溯i自减i–;

时间复杂度O(n);

static void gnome_sort(int[] arr)
        {
            int i = 0;
            while (i < arr.length)
            {
                if (i == 0 || arr[i - 1] <= arr[i])
                {
                    i++;
                }
                else
                                {
                    int temp = arr[i];
                    arr[i] = arr[i - 1];
                    arr[i - 1] = temp;
                    i--;
                }
            }
        }
相关文章
|
3月前
|
存储
第1章 排序
第1章 排序
|
3月前
|
4月前
|
存储 搜索推荐
排序的总结
排序的总结
|
4月前
|
人工智能 搜索推荐 算法
几种排序的实现
几种排序的实现
22 2
|
12月前
|
存储 搜索推荐 算法
排序相关问题
排序相关问题
58 1
|
11月前
|
算法 搜索推荐
排序篇(六)----排序小结
排序篇(六)----排序小结
36 0
|
搜索推荐 算法
排序实现
排序实现
57 0
|
算法
排序(详解)下
排序(详解)
60 0