GnomeSort 又是一个O(n2),不过,只用一次循环……

    技术2022-05-19  24

     

    有些像冒泡,虽然只有一层循环,但是循环因子来回摆动……晃悠晃悠,就排好序了。

    时间复杂度是O(n2)。

     

     

    void gnome_sort(int n, int array[]) { int i = 0; while(i < n) { if(i == 0 || array[i-1] > array[i]) i++; else { int tmp = array[i]; array[i] = array[i-1]; array[--i] = tmp; } } } 

     

     

     


    最新回复(0)