地精排序
思路:回溯
例如: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--; } } }