public static void OddEvenExchange(int[] arr, isFunc callback) { int s = 0; int e = arr.Length - 1; while (s < e) { for (; s<e && (!callback(arr[e])); e--) ; for (; s < e && callback(arr[s]); s++) ; int temp = arr[e]; arr[e] = arr[s]; arr[s] = temp; } }
public static void OddEvenExchange(int[] arr, isFunc callback) { int s = 0; int e = arr.Length - 1; while (s < e) { for (; s < e && (!callback(arr[e])); e--) { ; } for (; s < e && callback(arr[s]); s++) { ; } int temp = arr[e]; arr[e] = arr[s]; arr[s] = temp; } }