奇偶排序

比较特别的排序方法。

每次先对奇数项的元素与相邻下一位排序,然后对偶数项元素与相邻下一位排序。感觉和冒泡有点类似,只是分开了两次做。

public static void oddEvenSort(int[] A){
    boolean unsorted = true;
    while(unsorted){
        unsorted = false;
        for(int i = 1; i < A.length-1; i += 2){
            if(A[i] > A[i+1]){
                swap(A, i, i+1);
                unsorted = true;
            }
        }
        for(int i = 0; i < A.length-1; i += 2){
            if(A[i] > A[i+1]){
                swap(A, i, i+1);
                unsorted = true;
            }
        }
    }
}
Java

 

posted @ 2013-10-21 21:07  7hat  阅读(197)  评论(0编辑  收藏  举报