比较特别的排序方法。
每次先对奇数项的元素与相邻下一位排序,然后对偶数项元素与相邻下一位排序。感觉和冒泡有点类似,只是分开了两次做。
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; } } } }